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. ...
随机推荐
- 掌握Thinkphp3.2.0----模型初步
1.为什么要学习框架?框架是什么? 简单的说就是为了简单,提高开发的效率.至于什么是框架(一种规范),现在的我还不是很理解,容后再议. 学习框架最重要的就是遵循,按照开发者的意图来使用该框架. 2.t ...
- Symmetric Multiprocessor Organization
COMPUTER ORGANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCE NINTH EDITION
- 细说SaaS BI国际市场众生相,你准备好了么?
SaaS商业智能(BI)历程 在笔者看来,SaaS BI(也有称SaaS 商业智能.云BI)算是一个慢热的概念.远在十几前年便已经提出并有公司践行.而随着SaaS服务从早期的CRM.ERP.HR等领域 ...
- Universal Link 笔记
如何实现Universal Link? 简单地说三步,1.把一个配置文件放在指定服务器根目录 2.在Xcode中设置AssociateDomain 3.安装app时,会根据Xcode中设置的Assoc ...
- 《项目经验》--通过js获取前台数据向一般处理程序传递Json数据,并解析Json数据,将前台传来的Json数据写入数据库表中
先看一下我要实现的功能界面: 这个界面的功能在图中已有展现,课程分配(教师教授哪门课程)在之前的页面中已做好.这个页面主要实现的是授课,即给老师教授的课程分配学生.此页面实现功能的步骤已在页面 ...
- Return Largest Numbers in Arrays
题目要求 右边大数组中包含了4个小数组,分别找到每个小数组中的最大值,然后把它们串联起来,形成一个新数组. 提示:你可以用for循环来迭代数组,并通过arr[i]的方式来访问数组的每个元素. 答题思路 ...
- iOS 自定义键盘ToolBar(与键盘的弹出、收起保持一致)
1.监听键盘改变的通知 [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(keyBoardWillCha ...
- dede文章内容页增加视频文件
具体方法:1.在优酷上注册个账号.将要上传的视频在优酷上发布.2.待审核完成后分享复制html代码. 3.在后台发布文章时点击源码,将优酷中复制的代码考过来.4.发布后生成页面即可.(可参照vide ...
- 深入理解javascript原型和闭包(1)---一切都是对象
深入理解javascript原型和闭包(1)---一切都是对象 type函数输出的类型,在此列出: function show (x){ console.log(typeof(x));//undefi ...
- python 调用封装好的模块
有些时候,我们写了些通用的模块,想调用的时候,该怎么操作呢? 以下是我写的一个简单的登录作为例子: 在cla.py中定义了一个Login_gues.pyt(带参数的实例):在cc.py下调用这个; 1 ...