PAT L1 020 帥到沒朋友
阿新 • • 發佈:2019-01-06
題目描述:
當芸芸眾生忙著在朋友圈中發照片的時候,總有一些人因為太帥而沒有朋友。本題就要求你找出那些帥到沒有朋友的人。 輸入格式: 輸入第一行給出一個正整數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;
}