11 雜湊1 電話聊天狂人 25 分

2022-03-19 12:54:43 字數 2581 閱讀 3649

給定大量手機使用者聯絡歷史,找出其中通話次數最多的聊天狂人。

輸入首先給出正整數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位數字構成的手機號碼,其中以空格分隔。在一行中給出聊天狂人的手機號碼及其通話次數,其間以空格分隔。如果這樣的人不唯一,則...