(~解题报告~)L1-020 帅到没朋友 (20分)——25行代码AC
立志用更少的代碼做更高效的表達(dá)
當(dāng)蕓蕓眾生忙著在朋友圈中發(fā)照片的時(shí)候,總有一些人因?yàn)樘珟浂鴽](méi)有朋友。本題就要求你找出那些帥到?jīng)]有朋友的人。
輸入格式:
輸入第一行給出一個(gè)正整數(shù)N(≤100),是已知朋友圈的個(gè)數(shù);隨后N行,每行首先給出一個(gè)正整數(shù)K(≤1000),為朋友圈中的人數(shù),然后列出一個(gè)朋友圈內(nèi)的所有人——為方便起見(jiàn),每人對(duì)應(yīng)一個(gè)ID號(hào),為5位數(shù)字(從00000到99999),ID間以空格分隔;之后給出一個(gè)正整數(shù)M(≤10000),為待查詢的人數(shù);隨后一行中列出M個(gè)待查詢的ID,以空格分隔。
注意:沒(méi)有朋友的人可以是根本沒(méi)安裝“朋友圈”,也可以是只有自己一個(gè)人在朋友圈的人。雖然有個(gè)別自戀狂會(huì)自己把自己反復(fù)加進(jìn)朋友圈,但題目保證所有K超過(guò)1的朋友圈里都至少有2個(gè)不同的人。
輸出格式:
按輸入的順序輸出那些帥到?jīng)]朋友的人。ID間用1個(gè)空格分隔,行的首尾不得有多余空格。如果沒(méi)有人太帥,則輸出No one is handsome。
注意:同一個(gè)人可以被查詢多次,但只輸出一次。
輸入樣例1:
3
3 11111 22222 55555
2 33333 44444
4 55555 66666 99999 77777
8
55555 44444 10000 88888 22222 11111 23333 88888
輸出樣例1:
10000 88888 23333
輸入樣例2:
3
3 11111 22222 55555
2 33333 44444
4 55555 66666 99999 77777
4
55555 44444 22222 11111
輸出樣例2:
No one is handsome
問(wèn)題分析
一道普普通通的模擬題, 模擬題的答題技巧: 認(rèn)真讀題!認(rèn)真讀題!認(rèn)真讀題!
思路: 定義一個(gè)大數(shù)組, 若輸入朋友圈中朋友的數(shù)量不為1,則將這些數(shù)都置1, 其余置0, 遍歷時(shí),若某數(shù)值為1,則輸出其下角標(biāo)即可。
注意:最后輸出時(shí)要用%05d的方式輸出前導(dǎo)0
代碼展示
#include<iostream> using namespace std; int a[100005]; int main() {int num,n,x; cin>>num;while(num--) { //輸入,對(duì)應(yīng)數(shù)組的值置1 cin>>n;if(n==1) { cin>>x; n=0; }while(n--) {cin>>x;a[x] = 1;}}bool flag = false;int k; cin>>k; while(k--) { //遍歷,若為1則輸出下角標(biāo) cin>>x;if(a[x] == 0) {a[x] = 1; //防止輸出兩遍 if(!flag) flag = true; //最后一個(gè)數(shù)后面沒(méi)有空格 else cout << ' ';printf("%05d", x); }}if(flag == false) cout << "No one is handsome"; return 0; }每日一句
務(wù)須咬牙勵(lì)志,蓄其氣而漲其志。切不可公然自餒也。
總結(jié)
以上是生活随笔為你收集整理的(~解题报告~)L1-020 帅到没朋友 (20分)——25行代码AC的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: (~解题报告~)L1-019 谁先倒 (
- 下一篇: 9行代码AC——L1-022 奇偶分家(