#include#include int main() { int arr[100000] = { 0 }; //先定义一个较大的数组,并将其中的数值都初始化定义为0 int n=0,k=0; scanf("%d", &n); while (n != 0) { int m=0; n--; scanf("%d", &m); for (int i = 0; i < m; i++) { scanf("%d", &k); arr[k]++; } //在这个地方使用统排序,如果这个数据进入之后,就以这个数为下标,给其对应的数组值加一 } int ser=0; int num=0; int h=0; scanf("%d", &ser); //ser表示为其所要搜索的次数 while (ser != 0) { ser--; scanf("%d", &num); if (arr[num] == 0) //如果以这个查询的id所对应的数组值为零,则证明在上面录入程序的时候,没有关于这个数 //字的录入,则证明ta帅到没朋友 { printf("%d", num); arr[num] = -1; //将其对应的值修改为-1,如果再次查询这个人,就会直接跳过,防止重复输出 if (ser != 1) { printf(" "); } //以ser的值来控制是否要输出空格 h++; //以h的值控制是否要输出语句no one is handsome,如果成功进入此判断语句,就会修改h的 //值,使其不为0 } if (arr[num] == -1); { continue; } } if (h==0) { printf("No one is handsome"); } }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)