zoukankan      html  css  js  c++  java
  • PAT乙级1065-----单身狗 (25分)

    1065 单身狗 (25分)

    “单身狗”是中文对于单身人士的一种爱称。本题请你从上万人的大型派对中找出落单的客人,以便给予特殊关爱。

    输入格式:

    输入第一行给出一个正整数 N(≤ 50 000),是已知夫妻/伴侣的对数;随后 N 行,每行给出一对夫妻/伴侣——为方便起见,每人对应一个 ID 号,为 5 位数字(从 00000 到 99999),ID 间以空格分隔;之后给出一个正整数 M(≤ 10 000),为参加派对的总人数;随后一行给出这 M 位客人的 ID,以空格分隔。题目保证无人重婚或脚踩两条船。

    输出格式:

    首先第一行输出落单客人的总人数;随后第二行按 ID 递增顺序列出落单的客人。ID 间用 1 个空格分隔,行的首尾不得有多余空格。

    输入样例:

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

    输出样例:

    5
    10000 23333 44444 55555 88888

    思路:
    1.先建一个数组存储对子——下标与对应元素相对
    2.再建一个数组表示落单人数,每输入一个,判断是否有对子,有则相消,无则加入

    首次通过代码:
     1 #include<stdio.h>
     2 
     3 void output(int i){
     4     if(i<10) printf("0000%d",i);
     5     else if(i<100) printf("000%d",i);
     6     else if(i<1000) printf("00%d",i);
     7     else if(i<10000) printf("0%d",i);
     8     else printf("%d",i);
     9 }
    10 
    11 int main(){
    12     int couple[100000]={-1};//记录对子编号
    13     int single_people[100000]={0};
    14     int part;
    15     scanf("%d",&part);
    16     for(int i=0;i<part;i++){
    17         int a,b;
    18         scanf("%d %d",&a,&b);
    19         couple[a]=b;
    20         couple[b]=a;
    21     }
    22     int sum;int amount=0;
    23     scanf("%d",&sum);
    24     for(int i=0;i<sum;i++){
    25         int a;
    26         scanf("%d",&a);
    27         if(single_people[couple[a]]==1) {
    28            single_people[couple[a]]=0;
    29            amount--;
    30         }
    31         else {
    32           single_people[a]=1;
    33           amount++;
    34         }
    35     }
    36     printf("%d
    ",amount);
    37     for(int i=0;i<100000;i++){
    38         if(single_people[i]==1) {
    39             output(i);amount--;
    40             if(amount>=1) printf(" ");
    41         }
    42     }
    43     return 0;
    44 }
    View Code
     
  • 相关阅读:
    别老想着怎么用好RPC框架,你得多花时间琢磨原理
    业务代码真的会有这么多坑?
    mac全部看视频屏幕闪烁适用于白果黑果
    iterm2 proxy配置
    源端和目标端数据对比
    frp内网穿透,rdp远程连接Windows计算机
    frp rdp远程桌面
    按块提交抽取数据
    创建索引被锁ora-00054资源正忙,但指定以nowait方式
    2017-9-17C#笔记(方法,方法参数 ,foreach语句)
  • 原文地址:https://www.cnblogs.com/a982961222/p/12365509.html
Copyright © 2011-2022 走看看