The Number Off of FFF
X soldiers from the famous “FFF army'' is standing in a line, from left to right.
You, as the captain of FFF, decides to have a number off, that is, each soldier,
from left to right, calls out a number.
The first soldier should call One, each other soldier should call the number next to the number
called out by the soldier on his left side. If every soldier has done it right,
they will call out the numbers from
1
to
X
, one by one, from left to right.
Now we have a continuous part from the original line.
There are
N
soldiers in the part.
So in another word, we have the soldiers whose id are between
A
and 



A+N−1
(









1≤A≤A+N−1≤X
).
However, we don't know the exactly value of
A
, but we are sure the soldiers stands continuously in the original line, from left to right.
We are sure among those
N
soldiers, exactly one soldier has made a mistake.
Your task is to find that soldier.
Input
The first line has a number
T (


T≤10 ) , indicating the number of test cases.
For each test case there are two lines. First line has the number
N ,
and the second line has
N
numbers, as described above. (





3≤N≤105
)
It guaranteed that there is exactly one soldier who has made the mistake.
Output
For test case
X
, output in the form of Case #X: L,
L
here means the position of soldier among the
N
soldiers
counted from left to right based on
1
.
Sample Input
2
3
1 2 4
3
1001 1002 1004
Sample Output
Case #1: 3
Case #2: 3
这个题很好理解,就是一个序列,每个数比前一个数大一,如果不是就是错误的,要求输出错误的数
但是我有一个疑问,如果后面的都对,就第一个不对怎么办?
我跟同学商量了一下,但是他说不可能,是一遍输入一遍判断,一开始我以为我读错了,但是现在发现不是那回事好像,因为一开始要求输入几个数,然后再输入各个数,如果1 2 4 5该怎么办,这个算哪个错,然后我就不管不顾的写了代码,对了
#include<cstdio>
int main()
{
int t,n,x,j,i,y;
scanf("%d",&t);
for(i=1;i<=t;i++)
{
scanf("%d",&n);
scanf("%d",&x);
int cnt=1;
for(j=2;j<=n;j++)
{
scanf("%d",&y);
if(y-x!=1)
{
cnt=j;
}
x=y;
}
printf("Case #%d: %d\n",i,cnt);
}
return 0;
}
同学写的就是考虑了我举得例子,他是按第一个是正确答案输出的
#include<stdio.h>
int main()
{
int T,N,i,j,k,temp,cnt,flag;
scanf("%d",&T);
for(i=1;i<=T;i++)
{
scanf("%d",&N);
scanf("%d",&temp);
flag=cnt=1;
for(j=2;j<=N;j++)
{
scanf("%d",&k);
if(k-temp!=1&&flag)
{cnt=j;flag=0;}
temp=k;
}
printf("Case #%d: %d\n",i,cnt);
}
return 0;
}
这个应该很好理解吧,水题啊
The Number Off of FFF的更多相关文章
- 水题 HDOJ 4727 The Number Off of FFF
题目传送门 /* 水题:判断前后的差值是否为1,b[i]记录差值,若没有找到,则是第一个出错 */ #include <cstdio> #include <iostream> ...
- 周赛-The Number Off of FFF 分类: 比赛 2015-08-02 09:27 3人阅读 评论(0) 收藏
The Number Off of FFF Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Other ...
- HDU 4727 The Number Off of FFF
The Number Off of FFF Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Other ...
- HDU 4727 The Number Off of FFF (水题)
The Number Off of FFF Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Ot ...
- HDUOJ----The Number Off of FFF
The Number Off of FFF Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Ot ...
- hdu4727 The Number Off of FFF
理解错题意,wa了几次. 我一开始的理解忽略了实际背景,认为错报是绝对的,不依赖于其左边的人. 而实际上某士兵报数的对错取决且仅取决于他所报的数与其左邻所报的数. 所以假设第一个人没有报错,则其后必有 ...
- HDU-4727 The Number Off of FFF 水题
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4727 水题.. //STATUS:C++_AC_187MS_288KB #include <fu ...
- HDU 4727 The Number Off of FFF 2013年四川省赛题
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4727 题目大意:队列里所有人进行报数,要找出报错的那个人 思路:,只要找出序列中与钱一个人的数字差不是 ...
- 移除input number上的spinner
HTML 5 的表单中有着丰富的input种类,比如说input[type="number"],就可以保证用户输入数字,但是input也有一些不好的地方——带有 spinner. ...
随机推荐
- Xamarin Android 绑定jar库同时将so库打包进去
1.在创建的Bindings Library项目中,新建Assets目录: 2.Assets目录下再分别创建armeabi,armeabi-v7a,x86三个目录: 3.将so文件分布copy到三个目 ...
- Codevs 3728 联合权值
问题描述 无向连通图G有n个点,n-1条边.点从1到n依次编号,编号为i的点的权值为Wi ,每 条边的长度均为1.图上两点(u,v)的距离定义为u点到v点的最短距离.对于图G上的点 对(u,v),若它 ...
- JS检测移动端横竖屏
(function () { var supportOrientation = (typeof window.orientation == ...
- Elasticsearch判断多列存在、bool条件组合查询示例
and符号判断多列存在:{ "filter": { "and": [ { "exists": { ...
- node静态资源管理变迁之路
使用express自带的,express.static,如:app.use(express.static('hehe')),就可以用localhost/hua.png,访问项目根目录下,hehe文件夹 ...
- 关于smarty的一些个人笔记
注释为{注释} 注意下面代码中<%extends file="路径"%>和<%widget name="路径"%>这两个路径中的区别 c ...
- JMeter学习-032-JMeter常见四种变量简介
在JMeter自动化测试脚本编写过程中,经常需要对测试脚本进行一些参数设置.例如,设置测试计划的全局变量(方便切换不同的测试环境).样本线程(HTTP请求等)的参数传递等. 通常,JMeter中常用的 ...
- 数据结构作业之用队列实现的基数排序(Java版)
题目: 利用队列实现对某一个数据序列的排序(采用基数排序),其中对数据序列的数据(第1和第2条进行说明)和队列的存储方式(第3条进行说明)有如下的要求: 1)当数据序列是整数类型的数据的时候,数据序列 ...
- Spring与ActiveMQ整合
Spring提供了对JMS的支持,需要添加Spring支持jms的包,如下: <dependency> <groupId>org.springframework</gro ...
- 利用crontab系统每天定时备份MySQL数据库
利用系统crontab来定时执行备份文件,按日期对备份结果进行保存,达到备份的目的. 1.创建保存备份文件的路径/mysqldata 1 #mkdir /mysqldata 2.创建/usr/sb ...