L1-020. 帥到沒朋友(六月八號的)
阿新 • • 發佈:2019-01-01
當芸芸眾生忙著在朋友圈中發照片的時候,總有一些人因為太帥而沒有朋友。本題就要求你找出那些帥到沒有朋友的人。
輸入格式:
輸入第一行給出一個正整數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
No one is handsome
這個題我是用的差不多和桶排的方法差不多,,
先用一個數組排列一下就可以,再看看是否為零,,
#include <stdio.h> #include <string.h> #include <algorithm> #include <stdlib.h> #include <math.h> using namespace std; int a[100002]; int b[100002]; int main() { int n,m,i,j; int h,g,e; scanf("程式碼菜鳥,如有錯誤,請多包涵!!%d",&n); memset(a,0,sizeof(a)); while(n--) { scanf("%d",&m); if(m == 1) { scanf("%d",&h); } else { for(i = 0;i < m; i++) { scanf("%d",&h); a[h]++; } } } scanf("%d",&h); j = 0; int temp = 0; for(i = 0;i < h; i++) { scanf("%d",&g); temp = 0; for(e = 0;e < j; e++) { if(b[e] == g) { temp = 1; break; } } if(temp == 0) { b[j] = g; j++; } } temp = 0; for(i = 0;i < j; i++) { if(a[b[i]] == 0) { if(temp == 0) { printf("%05d",b[i]); temp = 1; } else if(temp == 1) printf(" %05d",b[i]); } } if(temp == 0) printf("No one is handsome"); printf("\n"); }