1. 程式人生 > >PAT L1 020 帥到沒朋友

PAT L1 020 帥到沒朋友

題目描述:

當芸芸眾生忙著在朋友圈中發照片的時候,總有一些人因為太帥而沒有朋友。本題就要求你找出那些帥到沒有朋友的人。

輸入格式:

輸入第一行給出一個正整數N(<=100),是已知朋友圈的個數;隨後N行,每行首先給出一個正整數K(<=1000),為朋友圈中的人數,然後列出一個朋友圈內的所有人——為方便起見,每人對應一個ID號,為5位數字(從00000到99999),ID間以空格分隔;之後給出一個正整數M(<=10000),為待查詢的人數;隨後一行中列出M個待查詢的ID,以空格分隔。

注意:沒有朋友的人可以是根本沒安裝“朋友圈”,也可以是隻有自己一個人在朋友圈的人。雖然有個別自戀狂會自己把自己反覆加進朋友圈,但題目保證所有K超過1的朋友圈裡都至少有2個不同的人。

輸出格式:

按輸入的順序輸出那些帥到沒朋友的人。ID間用1個空格分隔,行的首尾不得有多餘空格。如果沒有人太帥,則輸出“No one is handsome”。

注意:同一個人可以被查詢多次,但只輸出一次。

輸入樣例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

emmm這個題一開始是比較懵逼的,後來發現只要這個數他出現過1次,除非他的朋友圈就他自己,那他絕比有朋友,然後查詢的時候查過一次後標記一下就可以了

#include<cstdio>
#include<cstdlib>
#include<cmath>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<queue>
#include<map>
#include<stack>
#include<set>
using namespace std; typedef long long ll; typedef unsigned long long ull; const int MAX_N=100000; int main(void) { int n,m,p,k,g,flag=1,a[100001]={0};//這裡記得初始化 cin>>n; for(int i=0;i<n;i++){ cin>>m; for(int j=0;j<m&&m!=1;j++){//朋友圈唯一則不計算 cin>>p; a[p]=1
; } } cin>>k; for(int i=0;i<k;i++){ cin>>g; if(a[g]!=1){//看他是否出現過或是否被查詢過 if(flag){ printf("%05d",g); flag=0; } else printf(" %05d",g); a[g]=1;//查詢後標記 } } if(flag) printf("No one is handsome"); printf("\n"); return 0; }