题意:找出询问的编号中没出现过或者只出现在整个朋友圈里只有它一个人的编号,进行打印
思路:把有朋友的人标记为1。询问输出没被标记到的人。需要注意的是输出(这题我用整数数组标记,所以输出时要注意前置0和空格)
PS:c++中头文件<iomanip>中有许多函数可以控制cout的输出格式。
1 #include <iostream> 2 #include<iomanip> 3 const int M=100005; 4 using namespace std; 5 6 int main() 7 { 8 int n,m,k,b[M]= {0},x;//b数组用来标记是否有朋友 9 cin>>n; 10 while(n--) 11 { 12 cin>>k; 13 if(k==1) 14 { 15 //如果是只有一个人的朋友圈他不用标记 16 cin>>x; 17 } 18 else 19 { 20 while(k--) 21 { 22 cin>>x; 23 b[x]=1; 24 } 25 } 26 } 27 cin>>m; 28 k=0; 29 while(m--) 30 { 31 cin>>x; 32 if(b[x]<1) 33 { 34 if(k==1)cout<<' '; 35 cout<<setfill('0')<<setw(5)<<x; 36 k=1; 37 b[x]=100; 38 } 39 } 40 if(k==0) 41 cout<<"No one is handsome"<<endl; 42 return 0; 43 }