题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4727
题目大意:队列里所有人进行报数,要找出报错的那个人
思路:,只要找出序列中与钱一个人的数字差不是1的人即可,但是要注意的是这些人是从一个队列中间截取下来的,所以很有可能第一个人就报错了,一开始没有考虑这种状况所以出错了
#include<cstdio> #include <iostream> using namespace std; int main() { int t,n,ans; scanf("%d",&t); for(int ca=1;ca<=t;ca++) { int ans=1; scanf("%d",&n); int x,y; scanf("%d",&x); for(int i=2;i<=n;i++) { scanf("%d",&y); if(y-1!=x) { ans=i; } x=y; } printf("Case #%d: %d ",ca,ans); } return 0; }