【天梯赛】L1-020 帅到没朋友 (20分)

    科技2023-09-27  95

    题目描述 当芸芸众生忙着在朋友圈中发照片的时候,总有一些人因为太帅而没有朋友。本题就要求你找出那些帅到没有朋友的人。

    输入格式: 输入第一行给出一个正整数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

    今天晚上不知道怎么回事,系统评测特别慢,每次都是前方还有六七十个人。可能是快要考试了吧,我一直以为天梯赛是12月底考试,可是今天晚上发通知要选拔了,特地查了一下时间,是11月28日。

    这个题唯一需要注意的是自己一个人在朋友圈,即 k==1 的情况,也属于没有朋友。

    #include<iostream> using namespace std; int a[100000]; int main(){ int n, k, id; cin >> n; while(n--){ cin >> k; for(int i=0; i<k; i++){ cin >> id; if(k != 1) a[id]=1; } } int m; cin >> m; int b[m]; for(int i=0; i<m; i++){ cin >> b[i]; } int num=0; for(int i=0; i<m; i++){ if(a[b[i]] == 0){ if(num>0) cout << " "; printf("%05d", b[i]); a[b[i]] = 1; num++; } } if(num == 0) cout << "No one is handsome"; }
    Processed: 0.012, SQL: 8