給定大量手機使用者聯絡歷史,找出其中通話次數最多的聊天狂人。
輸入首先給出正整數n(≤),為聯絡歷史條數。隨後n行,每行給出一條聯絡歷史。簡單起見,這裡只列出撥出方和接收方的11位數字構成的手機號碼,其中以空格分隔。
在一行中給出聊天狂人的手機號碼及其通話次數,其間以空格分隔。如果這樣的人不唯一,則輸出狂人中最小的號碼及其通話次數,並且附加給出並列狂人的人數。
4
13005711862 13588625832
13505711862 13088625832
13588625832 18087925832
15005713862 13588625832
13588625832 3
//2,3測試點未過
#include#include
using
namespace
std;
const
int maxn = 1000100
;int
main()
int cnt = 0;//
通話最多次人數
int time = -1;//
通話最多次的時間
string s;//
通話最多次最小標號
map::iterator it;
for(it = mp.begin(); it != mp.end(); it++)
else
if(it->second ==time)
}cout
<< s << "
"
1) cout << " "<< cnt
}
#include #include#include
#define n 12typedef
struct listnode *position;
typedef
struct htable *hashtable;
struct
listnode ;
struct
htable ;
hashtable creattable(
intn);
void insert(hashtable h, char *key);
void
solve(hashtable h);
int nextprime(int
n);
intmain()
solve(h);
return0;
} hashtable creattable(
intn)
void insert(hashtable h, char *key)
if (p) p->count++;
else}
void
solve(hashtable h)
else
if (p->count ==max)
p = p->next;}}
if(num == 1
) printf(
"%s %d\n
", min, max);
else
printf(
"%s %d %d\n
", min, max, num);
} int nextprime(int
n)
return
i;}
#include#include#include
#include
#define maxs 11
#define maxd 5typedef
struct hashentry *list;
struct
hashentry;
struct
hashtb1;
typedef
struct hashtb1 *hashtable;
int nextprime(int
n)
if(i==2)break
; }
returnn;}
hashtable initializetable(
intn)
returnh;}
int hash(int key,intp)
void insertandcount(char *key,hashtable h)
if(ptr)
else}
void
output(hashtable h)
else
if(ptr->cnt==maxcnt)
}ptr=ptr->next;}}
printf(
"%s %d
",minphone,maxcnt);
if(pcnt>1)//
printf("\n");
}int
main()
output(h);
}
這道題留著等九月份再看把
11 雜湊1 電話聊天狂人 25分
給定大量手機使用者聯絡歷史,找出其中通話次數最多的聊天狂人。輸入首先給出正整數nn 10 5 為聯絡歷史條數。隨後n 行,每行給出一條聯絡歷史。簡單起見,這裡只列出撥出方和接收方的11位數字構成的手機號碼,其中以空格分隔。在一行中給出聊天狂人的手機號碼及其通話次數,其間以空格分隔。如果這樣的人不唯一...
11 雜湊1 電話聊天狂人 25 分
給定大量手機使用者聯絡歷史,找出其中通話次數最多的聊天狂人。輸入首先給出正整數n 10 5 為聯絡歷史條數。隨後n行,每行給出一條聯絡歷史。簡單起見,這裡只列出撥出方和接收方的11位數字構成的手機號碼,其中以空格分隔。在一行中給出聊天狂人的手機號碼及其通話次數,其間以空格分隔。如果這樣的人不唯一,則...
11 雜湊1 電話聊天狂人 25 分
給定大量手機使用者聯絡歷史,找出其中通話次數最多的聊天狂人。輸入首先給出正整數n 10 5 為聯絡歷史條數。隨後n行,每行給出一條聯絡歷史。簡單起見,這裡只列出撥出方和接收方的11位數字構成的手機號碼,其中以空格分隔。在一行中給出聊天狂人的手機號碼及其通話次數,其間以空格分隔。如果這樣的人不唯一,則...