题意:
一排士兵报数,从1开始,右边是左边+1。取其中一段给你,但是有且只有一个人报错了。求错的那个人的编号。
题解:
如果a[i]+1!=a[i+1],则i+1出错了,否则第一个人错。
//Time:203B
//Memory:676KB
//Length:630B
#include <iostream>
#include <cstdio>
#include <cstdlib>
using namespace std;
#define MAXN 100010
int arr[MAXN];
int main()
{
//freopen("/home/moor/Code/input","r",stdin);
int ncase,n;
scanf("%d",&ncase);
for(int hh=1;hh<=ncase;++hh)
{
bool flag=false;
printf("Case #%d: ",hh);
scanf("%d",&n);
for(int i=0;i<n;++i) scanf("%d",&arr[i]);
for(int i=0;i<n-1;++i)
if(arr[i]+1!=arr[i+1])
{
printf("%d\n",i+2);
flag=true;
break;
}
if(!flag) printf("1\n");
}
return 0;
}