給定大量手機使用者聯絡歷史,找出其中通話次數最多的聊天狂人。
輸入首先給出正整數n(≤10^5 ),為聯絡歷史條數。隨後n行,每行給出一條聯絡歷史。簡單起見,這裡只列出撥出方和接收方的11位數字構成的手機號碼,其中以空格分隔。
在一行中給出聊天狂人的手機號碼及其通話次數,其間以空格分隔。如果這樣的人不唯一,則輸出狂人中最小的……號碼及其通話次數,並且附加給出並列狂人的人數。
413005711862 13588625832
13505711862 13088625832
13588625832 18087925832
15005713862 13588625832
13588625832 3
#include
#include
#include
#include
typedef
struct hashlist* list;
struct hashlist
;typedef
struct hashtbl *hashtable;
struct hashtbl
;int
hash
(int key,
int p)
intnextprime
(int n)}if
(f)else}}
hashtable create
(int n)
return p;
}void
insert
(hashtable h,
char
*s)else
}/*跳出迴圈的時候p為null,說明要把s這個字元插入,即這個位址有新的**號碼*/if(
!p)}
void
output
(hashtable h)
else
if(p->count==max)
p=p->next;}}
printf
("%s %d"
,minnum,max);if
(number>1)
printf
(" %d"
,number)
;printf
("\n");
}int
main()
output
(h);
return0;
}
電話聊天狂人(25 分)
給定大量手機使用者聯絡歷史,找出其中通話次數最多的聊天狂人。輸入首先給出正整數n 10 5 為聯絡歷史條數。隨後 n行,每行給出一條聯絡歷史。簡單起見,這裡只列出撥出方和接收方的11位數字構成的手機號碼,其中以空格分隔。在一行中給出聊天狂人的手機號碼及其通話次數,其間以空格分隔。如果這樣的人不唯一,...
電話聊天狂人 25分
給定大量手機使用者聯絡歷史,找出其中通話次數最多的聊天狂人。輸入首先給出正整數n 10 5 為聯絡歷史條數。隨後n行,每行給出一條聯絡歷史。簡單起見,這裡只列出撥出方和接收方的11位數字構成的手機號碼,其中以空格分隔。在一行中給出聊天狂人的手機號碼及其通話次數,其間以空格分隔。如果這樣的人不唯一,則...
7 14 電話聊天狂人 (25 分)
給定大量手機使用者聯絡歷史,找出其中通話次數最多的聊天狂人。輸入首先給出正整數n 10 5 為聯絡歷史條數。隨後n行,每行給出一條聯絡歷史。簡單起見,這裡只列出撥出方和接收方的11位數字構成的手機號碼,其中以空格分隔。在一行中給出聊天狂人的手機號碼及其通話次數,其間以空格分隔。如果這樣的人不唯一,則...