5 14 電話聊天狂人

2021-08-01 06:48:53 字數 1422 閱讀 1993

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

輸入首先給出正整數n

n(\le 10^5≤1

0​5​

​),為聯絡歷史條數。隨後n

n行,每行給出一條聯絡歷史。簡單起見,這裡只列出撥出方和接收方的11位數字構成的手機號碼,其中以空格分隔。

在一行中給出聊天狂人的手機號碼及其通話次數,其間以空格分隔。如果這樣的人不唯一,則輸出狂人中最小的號碼及其通話次數,並且附加給出並列狂人的人數。

4

13005711862 13588625832

13505711862 13088625832

13588625832 18087925832

15005713862 13588625832

13588625832 3

#define _crt_secure_no_warnings

#include#include#include#includeusing namespace std;

struct node;

void findmax(node&nd, string &maxnum, int &maxnum_minseq, int &sameperson)

} else

}}int lhash(const string &a,int total);//雜湊函式

int main()

string tmp;

tmp.resize(11);

string maxnum = "2";

int maxnum_minseq = -1;

int sameperson = 0;//聊天次數相同的聊天狂人的個數

for (int i = 0; i < n * 2; i++)//輸入的同時建立雜湊表,同時找出最大值

pre = next;

next = next->next;

} while (next);

if (!flag)

; pre->next = ptmp;

findmax(*ptmp, maxnum, maxnum_minseq, sameperson);

} }cout << maxnum << " " << maxnum_minseq << endl;

if (sameperson > 1)

cout << maxnum << " " << maxnum_minseq << " " << sameperson << endl;

system("pause");

//釋放記憶體

delete a;

return 0;

}int lhash(const string &a,int total)//雜湊函式

電話聊天狂人

給定大量手機使用者聯絡歷史,找出其中通話次數最多的聊天狂人。輸入首先給出正整數n 10 5 為聯絡歷史條數。隨後n行,每行給出一條聯絡歷史。簡單起見,這裡只列出撥出方和接收方的11位數字構成的手機號碼,其中以空格分隔。在一行中給出聊天狂人的手機號碼及其通話次數,其間以空格分隔。如果這樣的人不唯一,則...

電話聊天狂人

給定大量手機使用者聯絡歷史,找出其中通話次數最多的聊天狂人。輸入格式 輸入首先給出正整數n 10 5 為聯絡歷史條數。隨後n行,每行給出一條聯絡歷史。簡單起見,這裡只列出撥出方和接收方的11位數字構成的手機號碼,其中以空格分隔。輸出格式 在一行中給出聊天狂人的手機號碼及其通話次數,其間以空格分隔。如...

電話聊天狂人

給定大量手機使用者聯絡歷史,找出其中通話次數最多的聊天狂人。輸入格式 輸入首先給出正整數n 為聯絡歷史條數。隨後n行,每行給出一條聯絡歷史。簡單起見,這裡只列出撥出方和接收方的11位數字構成的手機號碼,其中以空格分隔。輸出格式 在一行中給出聊天狂人的手機號碼及其通話次數,其間以空格分隔。如果這樣的人...