boj472. 学姐点名-巧解
题目描述
学姐辛辛苦苦准备了一次讲座,讲课的过程中学姐数了一下人数,发现居然少到了一个学弟,学姐很生气,下决心要把这个学弟找出来。学姐开始点名了,为了快一点签到,学姐点名的时候只点大家的学号。学姐说:“这么简单的统计,几行就可以搞定,帮我写个程序吧,超过500B的运行时间又在1ms以上的我不要”。
oj的功能出了点问题,内存判定没有效果,代码长度限制也没有效果。oj上显示超过528B的代码,比赛结束前时限直接调成1ms手工重新判定。(换句话说,本地代码大小超过500B的AC不算。)
输入格式
每组数据第一行一个数N,接下来N-1行每行一个数字表示学弟的学号。
多组数据,eof结束。
2组数据N为1000000
500组数据满足N不大于3000
1000组数据满足N不大于10
输出格式
输出没到的学弟的学号
输入样例
3
1
3
2
1
输出样例
2
2
既然学号排列那么优美,两个方法:
A.直接用n*(n+1)/2-点名的和;B.异或
#include
#include
///Version 1
int main()
{
int n,num,i,k_;
long long int k;
while(scanf("%d",&n)!=EOF){
k=(long long int)n*(n+1)/2;
for(i=0;i