朋友 STL瞎搞

2021-09-02 20:31:14 字數 1864 閱讀 2693

時間限制: 1 sec  記憶體限制: 128 mb

提交: 387  解決: 66

[提交] [狀態] [討論版] [命題人:admin]

題目描述

同學們應該學會多交一些好朋友。朋友關係是相互的,a 是 b 的好朋友,則 b 也是 a 的好朋友。朋友關係是不傳遞的,a 是 b 的好朋友,b 是 c 的好朋友,但 a 和 c 不一定是好朋友。現在給出某小學部分同學之間的朋友關係,請程式設計統計朋友最多的人有多少個好朋友。 

輸入輸入共m+1行。

第1行是兩個整數n和m,分別表示同學總人數和朋友關係對數。

第2行到第m+1行,描述了m對朋友關係。每行兩個用單個空格隔開的同學姓名。

每個人的姓名僅由小寫字母組成,且1≤姓名的長度≤10。

輸出輸出共 1 行。  

乙個整數,表示朋友最多的人有多少個好朋友。

樣例輸入

4 3

lucy lily

jam lily

jam peter

樣例輸出

2
提示

4個人,3對朋友關係。lucy只有乙個朋友lily;jam有兩個朋友lily和peter;lily有兩個朋友lucy和jam;

peter只有乙個朋友jam。

所以lily和jam朋友最多,都是2個。

50%以上的測試點輸入資料保證朋友關係沒有重複。  

100%的測試點輸入資料保證2≤n≤100,1≤m≤1000,且沒有自己跟自己的朋友關係。

[提交][狀態]

題解:注意資料會存在 兩組相同的資料 例如 lucy lily 和 lily lucy

將名字轉化成數字,然後建立成乙個 cnt*cnt的矩陣,掃一遍求最大值

重點是如何將字串轉化成數字,並且把重複出現的去掉

#includeconst int mod=998244353;

typedef long long ll;

using namespace std;

int cnt;

char ss[1005][105];

int n,m;

char s1[105],s2[105];

int f[1005][1005];

int pos(char x)

int main()

//printf("%d",cnt);

int cntt;

int ans=0;

/*for(int i=1; i題解:

開兩個map 乙個vis存關係,另乙個cnt記錄數量,最後遍歷一遍cnt即可

用vis將重複的情況去掉

用 stl 瞎搞一下

map::iterator iter; 迭代

for (iter = cnt.begin(); iter != cnt.end(); iter++)//遍歷map

iter->first 第一維

iter->second 第二維

#includeconst int mod=998244353;

typedef long long ll;

using namespace std;

map::iterator iter;

mapcnt;

map>vis;

string s1,s2;

int main()

}int ans=0;

for(auto p:cnt)//for (iter = cnt.begin(); iter != cnt.end(); iter++)

cout

}

PAT L1 020 帥到沒朋友 集合set瞎搞

當芸芸眾生忙著在朋友圈中發 的時候,總有一些人因為太帥而沒有朋友。本題就要求你找出那些帥到沒有朋友的人。輸入格式 輸入第一行給出乙個正整數n 100 是已知朋友圈的個數 隨後n行,每行首先給出乙個正整數k 1000 為朋友圈中的人數,然後列出乙個朋友圈內的所有人 為方便起見,每人對應乙個id號,為5...

瞎搞 Lucas定理證明

求證cn m i 0kc nimi modp 其中m ki 0mip i n ki 0nip i p是質數。首先,我們知道,n0 nmodp,m 0 mmodp 那麼原式相當於求證cn m c np mp cnmodp mmod pmodp 這樣就可以歸納一發證明整個定理了。首先我們知道,對於任意的...

UPCOJ 5344 被子 瞎搞

作為乙隻明媚的兔子,需要學會疊被子 被子是方形的,上面有很多小寫字母.可以認為被子是乙個n m的字元矩陣 被子能夠被疊起來,當且僅當每一行,每一列都是回文串.兔子可以把同一條被子上任意兩個位置的字母交換位置,而且兔子不嫌麻煩,為了把被子疊起來它願意交換任意多次.但是兔子不能交換兩條不同的被子之間的字...