zoukankan      html  css  js  c++  java
  • PAT (Advanced Level) Practice 1121 Damn Single (25分)

    1.题目

    "Damn Single (单身狗)" is the Chinese nickname for someone who is being single. You are supposed to find those who are alone in a big party, so they can be taken care of.

    Input Specification:

    Each input file contains one test case. For each case, the first line gives a positive integer N (≤ 50,000), the total number of couples. Then N lines of the couples follow, each gives a couple of ID's which are 5-digit numbers (i.e. from 00000 to 99999). After the list of couples, there is a positive integer M (≤ 10,000) followed by M ID's of the party guests. The numbers are separated by spaces. It is guaranteed that nobody is having bigamous marriage (重婚) or dangling with more than one companion.

    Output Specification:

    First print in a line the total number of lonely guests. Then in the next line, print their ID's in increasing order. The numbers must be separated by exactly 1 space, and there must be no extra space at the end of the line.

    Sample Input:

    3
    11111 22222
    33333 44444
    55555 66666
    7
    55555 44444 10000 88888 22222 11111 23333
    

    Sample Output:

    5
    10000 23333 44444 55555 88888
    

    2.代码

    #include<iostream>
    #include<cstdio>
    #include<string>
    #include<cstring>
    using namespace std;
    int couple[100001], single[100001],out[100001];
    int main()
    {
        memset(couple,-1,sizeof(couple));
        memset(single,-1,sizeof(single));
        
    	int n, m;
    	int a, b;
    	int count = 0;
    	cin >> n;
    	for (int i = 0; i<n; i++)
    	{
    		cin >> a >> b;
    		couple[a] = b; couple[b] = a;
    	}
    	cin >> m;
    	for (int i = 0; i<m; i++)
    	{
    		cin >> a;
    		single[a]++;
    	}
    	for (int i = 0; i<100000; i++)
    	{
    		if (single[i] != -1)
    		{
    			if (couple[i] == -1 || (couple[i] != -1&&single[couple[i]] == -1))
    			{
    				out[count++] = i;
    			}
    		}
    	}
    	cout << count << endl;
    	int space = 0;
    	for (int i = 0; i < count; i++)
    	{
    		if (space == 0) {printf("%05d",out[i]); space++; }
    		else printf(" %05d",out[i]);
    	}
    
    }
  • 相关阅读:
    李白—烂尾楼题记
    [原创]网络图片延迟加载实现,超越jquery2010年3月26日
    利用反射,泛型,扩展方法快速获取表单值到实体类
    断点续传 到底是很么
    认识LINQ
    Gridview控件用法大总结
    网站性能优化总结。
    JQ小技巧
    自己写的jq_3个小插件
    MOSS中SPuser类的使用
  • 原文地址:https://www.cnblogs.com/Jason66661010/p/12788864.html
Copyright © 2011-2022 走看看