• GDUFE ACM-1070


    题目:http://acm.gdufe.edu.cn/Problem/read/id/1070

    上班打卡

    Time Limit: 2000/1000ms (Java/Others)

    Problem Description:

         某公司上班使用打卡制度,员工需要在打卡机器上打入和打出才算上班。每个员工都有自己对应编号K,编号为一个整数(1 <= K <=50000),某天有一员工忘记了一次打出。现在给你当天员工的打卡信息,你能找出该员工的编号吗?

    Input:

    输入包含多组测试,第一行包含数字N,表示公司的人数(1<=N<=50000)。第二行有2N-1个数,两两之间有空格,表示所有员工的打卡记录。输入N为0则退出程序,不做输出。
    

    Output:

    对于每组测试,单独一行输出忘记打卡员工的编号。

    Sample Input:

    4
    10 12 9 12 250 9 10
    

    Sample Output:

    250

    思路:原本想了两种方法都超时了。。。这个是使用两个数组,员工打卡一次,对应序号+1,结束后如果数组中某元素为1,则对应序号的员工忘记打卡了

    难度:容易超时,有难度

    代码:
     1 #include<stdio.h>
     2 int main()
     3 {
     4     int n,a[100000],i,j;
     5     int b[50000]={0};
     6     while(~scanf("%d",&n))
     7     {
     8         if(n==0) break;
     9         for(i=0;i<2*n-1;i++)
    10             {
    11                 scanf("%d",&a[i]);
    12                 j=a[i]-1;
    13                 b[j]++;
    14             }
    15         for(i=0;i<50000;i++)
    16             if(b[i]==1)
    17         {
    18             printf("%d
    ",i+1);
    19             break;
    20         }
    21     }
    22     return 0;
    23 }
  • 相关阅读:
    html与app交互
    算法:算法的时间与空间复杂度
    php加解密函数集合
    redis主要用法
    【原创】RabbitMQ教程:php实现
    安装RabbitMq
    mysql复制表和字段
    vim文本操作
    JAVA学习(常量)
    JAVA学习(变量)
  • 原文地址:https://www.cnblogs.com/ruo786828164/p/6009229.html
Copyright © 2020-2023  润新知