拼題A 電話聊天狂人

2021-10-06 05:58:28 字數 1557 閱讀 4928

題目描述:

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

輸入格式:

輸入首先給出正整數n(≤10​5​​),為聯絡歷史條數。隨後n行,每行給出一條聯絡歷史。簡單起見,這裡只列出撥出方和接收方的11位數字構成的手機號碼,其中以空格分隔。

輸出格式:

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

輸入樣例:

4

13005711862 13588625832

13505711862 13088625832

13588625832 18087925832

15005713862 13588625832

輸出樣例:

13588625832 3
根據慕課上老師講的**打的

**如下:

#include #include #include #include using namespace std;

#define keylength 11 // 關鍵字串的最大長度

#define maxtablesize 1000000

typedef int index; // 雜湊位址型別

typedef struct lnode *ptrtolnode;

struct lnode

;typedef ptrtolnode position;

typedef ptrtolnode list;

typedef struct tblnode *hashtable;

struct tblnode // 雜湊表結點定義

;int hash(int key, int p)

// 返回大於n不超過maxtablesize的最小素數

int nextprime(int n)

return p;

}hashtable createtable(int tablesize)

return h;

}position find(hashtable h, elementtype key)

bool insert(hashtable h, elementtype key)

else

}void scanandoutput(hashtable h)

else if(ptr->count == maxcnt)

ptr = ptr->next;}}

printf("%s %d", minphone, maxcnt);

if(pcnt > 1)

printf(" %d", pcnt);

printf("\n");

}int main()

scanandoutput(h);

return 0;

}

電話聊天狂人

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

電話聊天狂人

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

電話聊天狂人

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