BNUOJ_P4087 丢失的数

Time Limit: 5000msMemory Limit: 2048KB 64-bit integer IO format: %lld Java class name: Main
网络传输中由于受到链路层的最大传输单元(Maximum Transmission Unit,MTU)的限制,在很多情况下需要对原始的数据报进行分片,使得每一分片可以顺利的传输。F公司的网络设备根据MTU的限制将每个原始的数据划分成n片,用1~n这n个数字对每个分片进行编号,在目的主机上将这些分片重新组合成原始的数据。可是在测试中发现一个问题:经常出现缺失一个数据分片的情况。公司希望在将分片重新组合前就能知道缺失的数据分片编号。

Input
有多组输入数据,你必须处理到EOF为止。

每组输入数据第一行就一个整数n(2<=n<=105), 表示数据分成了n片。

第二行有n-1个以空格隔开的整数,表示目的主机收到的数据分片的编号,由于网络传输的一些因素,数据分片到达的顺序是随机的。

Output
输出缺失的数据片编号。

Sample Input
5
5 3 2 1

Sample Output
4

Source
2009年北京师范大学新生程序设计竞赛热身赛(第三场)

Author
yjyfrombnu

#include<cstdio>
#include<iostream>
using namespace std;
int in(){
    int x=0;char ch=getchar();
    while(ch>'9'||ch<'0') ch=getchar();
    while(ch>='0'&&ch<='9') x=x*10+ch-'0',ch=getchar();
    return x;
}
int main(){
    int n,x,y;
    while(scanf("%d",&n)!=EOF){
        y=n,x=in(),n--,y=y^n;
        while(--n){
            x=x^in();
            y=y^n;
        }
        printf("%d\n",(x^y));
    }

    return 0;
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值