• 1121 Damn Single (25 分)


    "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
    //初始化用用-1
    //因为有人的编号可能是00000
    //所以第二个点不过 
    #include<cstdio>
    const int maxn = 100010;
    
    int spouse[maxn] = {0};
    
    int main(){
        int n,id1,id2;
        for(int i = 0; i < maxn; i++) spouse[i] = -1; 
        scanf("%d",&n);
        while(n--){
            scanf("%d%d",&id1,&id2);
            spouse[id1] = id2;
            spouse[id2] = id1;  
        }
        scanf("%d",&n);
        while(n--){
            scanf("%d",&id1);
            if(spouse[id1] >= 0 && spouse[spouse[id1]] >= 0){
                spouse[id1] = -2;
            }else if(spouse[id1] >= 0 &&spouse[spouse[id1]] == -2){
                spouse[spouse[id1]] = 2;
            }else{
                spouse[id1] = -3;
            }
        }
        int cnt = 0;
        for(int i = 0; i < maxn; i++){
            if(spouse[i] < -1) cnt++;
        }
        printf("%d
    ",cnt);
        for(int i = 0; i < maxn; i++){
            if(spouse[i] < -1){
                printf("%05d",i);
                cnt--;
                if(cnt > 0) printf(" ");
            }    
        }
        return 0;
    }
  • 相关阅读:
    【转】主从同步出现一下错误:Slave_IO_Running: Connecting
    解决Mysql的主从数据库没有同步的两种方法
    xargs命令详解,xargs与管道的区别
    常用的排序算法的时间复杂度和空间复杂度
    IP 地址分类(A、B、C、D、E类)
    SNMP 协议介绍 转载
    TCP首部的TimeStamp时间戳选项 转载
    TCP SACK 介绍 转载
    HTTP header 介绍 转载
    CRT小键盘输入乱码
  • 原文地址:https://www.cnblogs.com/wanghao-boke/p/10453470.html
Copyright © 2020-2023  润新知