hdu4727 The Number Off of FFF

理解错题意,wa了几次。

我一开始的理解忽略了实际背景,认为错报是绝对的,不依赖于其左边的人。

而实际上某士兵报数的对错取决且仅取决于他所报的数与其左邻所报的数。

所以假设第一个人没有报错,则其后必有人报错,报错时满足s[i] != s[i - 1] + 1

否则第一个人报错。

acm.hdu.edu.cn/showproblem.php?pid=4727
 

 

 1 #include <cstdio>
 2 using namespace std;
 3 const int maxn = 1e5 + 10;
 4 
 5 int n, ans;
 6 int s[maxn];
 7 
 8 int main(){
 9     int T, kase = 0;
10     scanf("%d", &T);
11     while(T--){
12         scanf("%d", &n);
13         ans = 0;
14         for(int i = 0; i < n; i++) scanf("%d", &s[i]);
15         for(int i = 1; i < n; i++){
16             if(s[i] != s[i - 1] + 1){
17                 ans = i;
18                 break;
19             }
20         }
21         printf("Case #%d: %d\n", ++kase, ans + 1);
22     }
23     return 0;
24  }
View Code

 

 

转载于:https://www.cnblogs.com/astoninfer/p/4734029.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值