2020 2 25普及C組模擬賽10(第一題)

2021-10-03 07:23:18 字數 1568 閱讀 8637

題目描述

經過六年的努力,小明終於被一所知名中學錄取。優秀的小明總是對一些奇奇怪怪的事情感興趣,這次他想知道誰在這所新學校擁有的朋友最多,由於大家都才剛報到,所以小明只知道大家兩兩之間是否是朋友關係。

輸入

輸入檔案friend.in的第一行有兩個整數n和m,n表示總人數,m表示總關係數。

接下來m行,每行有2個以空格隔開的整數a和b,表示a和b是朋友,a和b均為1到n之間的整數。不會給出重複的朋友關係。

輸出

輸出檔案friend.out中僅有一行,表示朋友數最多的人所擁有的朋友,每兩個整數之間用空格隔開,按照字典序從小到大輸出。如果存在多個人朋友數都是最多的情況,請輸出字典序最小的那人的答案,具體見樣例。

樣例輸入

3 31 22 3

1 3樣例輸出

2 3資料範圍限制

50%的資料,1 <= n <= 10

80%的資料,1 <= n <= 1000

100%的資料,1 <= n <= 10000,m <= 500000

提示

1、2、3均擁有2個朋友,因此輸出字典序較小的1的朋友即可。

1的朋友為2和3,按照字典序從小到大輸出,數字之間用空格隔開。

正解

桶+快排

ac**

#include

#include

#include

using

namespace std;

int n,m,k,o,m1,a[

500005

],b[

500005

],f[

10005

],c[

10005];

intmain()

//找到出現次數最多,字典序最小的那個數字

if(f[b[i]

]>m1)

if(f[a[i]

]==m1)k=

min(k,a[i]);

if(f[b[i]

]==m1)k=

min(k,b[i]);

}for

(int i=

1;i<=m;i++

)//看看k的朋友是誰

sort

(c+1

,c+o+1)

;//快排

for(

int i=

1;i<=o;i++

)//輸出

cout<<<

' ';

return0;

}

2020.2.25普及c組模擬賽10(第一題)

2020.2.25普及c組模擬賽10(第二題)

2020.2.25普及c組模擬賽10(第三題)

2020.2.25普及c組模擬賽10(第四題)

2020.2.25普及c組模擬賽10(總結)

2020 2 25普及C組模擬賽10(第二題)

題目描述 在統計完朋友情況之後,小明又對大家的畢業學校產生興趣,但是他覺得單純的統計人數是一件非常無聊的事情,於是他設計了乙個演算法,同一所學校畢業的學生,第1個將獲得1分,第2個獲得2分,第3個獲得4分 第i個將獲得2 i 1 分,總分就是這所小學的得分,小明想知道得分最高的學校有多少分。輸入 輸...

牛客模擬賽1 普及組

題號題目 t1牛牛的密碼 t2牛牛的跳跳棋 t3牛牛的最大興趣組 t4牛牛的滑動視窗 得分120 120 直接照題意模擬即可。include include include include using namespace std char xy 100010 dy 100010 sz 100010 ...

2020 10 05 普及組 模擬賽C組總結

總結這次考試沒發揮好,第二題沒有拿滿分,下次要繼續努力 t1 superpow 10 題目大意 已知a b 超級冪 代表 b個a的冪,求n對數的超級冪之積的個位數。正確思路 當打表後可以發現 b是沒用的,如果b大於2,b就等於2,答案和原來的是一樣的。所以處理一下跑個快速冪就行了。至於為什麼拿10分...