L1-020 帅到没朋友 用C#实现

发布时间:2026/6/26 14:29:35
L1-020 帅到没朋友 用C#实现 当芸芸众生忙着在朋友圈中发照片的时候总有一些人因为太帅而没有朋友。本题就要求你找出那些帅到没有朋友的人。输入格式输入第一行给出一个正整数N≤100是已知朋友圈的个数随后N行每行首先给出一个正整数K≤1000为朋友圈中的人数然后列出一个朋友圈内的所有人——为方便起见每人对应一个ID号为5位数字从00000到99999ID间以空格分隔之后给出一个正整数M≤10000为待查询的人数随后一行中列出M个待查询的ID以空格分隔。注意没有朋友的人可以是根本没安装“朋友圈”也可以是只有自己一个人在朋友圈的人。虽然有个别自恋狂会自己把自己反复加进朋友圈但题目保证所有K超过1的朋友圈里都至少有2个不同的人。输出格式按输入的顺序输出那些帅到没朋友的人。ID间用1个空格分隔行的首尾不得有多余空格。如果没有人太帅则输出No one is handsome。注意同一个人可以被查询多次但只输出一次。输入样例133 11111 22222 555552 33333 444444 55555 66666 99999 77777855555 44444 10000 88888 22222 11111 23333 88888输出样例110000 88888 23333输入样例233 11111 22222 555552 33333 444444 55555 66666 99999 77777455555 44444 22222 11111输出样例2No one is handsome代码长度限制16 KB时间限制200 ms内存限制64 MB栈限制8192 KB解析可另开一个bool数组来用下标记录可能出现的所有ID号再标记访问过的元素将其置为true,最后再通过数组下标来匹配ID只有O1的时间复杂度匹配成功后标记元素为已经访问过再将其加入列表中最后判空再输出列表即可。应注意其中两个测试点为若K1时这个人没有朋友不应该被标记为true代码如下using System; using System.Collections.Generic; public class L1_020 { public static void Main(string[] args) { var N int.Parse(Console.ReadLine()); var check new bool[100001]; for (int i 0; i N; i) { var strings Console.ReadLine().Split( ); if (int.Parse(strings[0]) 1) { for (int j 1; j strings.Length; j) { check[int.Parse(strings[j])] true; } } } Console.ReadLine(); var split Console.ReadLine().Split( ); var list new Liststring(); for (int i 0; i split.Length; i) { if (!check[int.Parse(split[i])]) { list.Add(split[i]); check[int.Parse(split[i])] true; } } if (list.Count0) Console.WriteLine(No one is handsome); else Console.WriteLine(string.Join( , list)); } }