博客
关于我
【读入】#36 A. Extra-terrestrial Intelligence
阅读量:201 次
发布时间:2019-02-28

本文共 1991 字,大约阅读时间需要 6 分钟。

A. Extra-terrestrial Intelligence
time limit per test
2 seconds
memory limit per test
64 megabytes
input
input.txt
output
output.txt

Recently Vasya got interested in finding extra-terrestrial intelligence. He made a simple extra-terrestrial signals’ receiver and was keeping a record of the signals for n days in a row. Each of those n days Vasya wrote a 1 in his notebook if he had received a signal that day and a 0 if he hadn’t. Vasya thinks that he has found extra-terrestrial intelligence if there is a system in the way the signals has been received, i.e. if all the intervals between successive signals are equal. Otherwise, Vasya thinks that the signals were sent by some stupid aliens no one cares about. Help Vasya to deduce from the information given by the receiver if he has found extra-terrestrial intelligence or not.

Input

The first line contains integer n (3 ≤ n ≤ 100) — amount of days during which Vasya checked if there were any signals. The second line contains n characters 1 or 0 — the record Vasya kept each of those n days. It’s guaranteed that the given record sequence contains at least three 1s.

Output

If Vasya has found extra-terrestrial intelligence, output YES, otherwise output NO.

Sample test(s)
input
800111000
output
YES
input
71001011
output
NO
input
71010100
output
YES
这道题……我太蠢了,真的太蠢了……我一直wa了7次,就因为我看到这个是数字然后用%d来读……全都读完了……

改成%c即AC……

这道题的意思是在10序列中看1的位置是否等距,所以使用flag记录第一个和第二个出现的1,获得步长pace,然后如果之后1不是按照pace的步长出现,即为NO,读完即为YES

#include 
#include
#include
#include
using namespace std;int main(){ int n,pace=0,p=0; int first=0,flag=0; freopen("input.txt","r",stdin); freopen("output.txt","w",stdout); cin>>n; char c; scanf("%c",&c); for(int i=1;i<=n;i++) { scanf("%c",&c); if(flag==0) { if(c=='1')flag=1; else; } else if(flag==1) { if(c=='1')flag=2; else pace++; } else { if(c=='1') { if(p!=pace) { puts("NO"); return 0; } else p=0; } else p++; } } puts("YES"); return 0;}

转载地址:http://yjwi.baihongyu.com/

你可能感兴趣的文章
mysql创建数据库和用户 并授权
查看>>
mysql创建数据库指定字符集
查看>>
MySql创建数据表
查看>>
MySQL创建新用户以及ERROR 1396 (HY000)问题解决
查看>>
MySQL创建用户与授权
查看>>
MySQL创建用户报错:ERROR 1396 (HY000): Operation CREATE USER failed for 'slave'@'%'
查看>>
MySQL创建索引时提示“Specified key was too long; max key length is 767 bytes”
查看>>
mysql初始密码错误问题
查看>>
mysql判断某一张表是否存在的sql语句以及方法
查看>>
mysql加入安装策略_一键安装mysql5.7及密码策略修改方法
查看>>
mysql加强(1)~用户权限介绍、分别使用客户端工具和命令来创建用户和分配权限
查看>>
mysql加强(3)~分组(统计)查询
查看>>
mysql加强(4)~多表查询:笛卡尔积、消除笛卡尔积操作(等值、非等值连接),内连接(隐式连接、显示连接)、外连接、自连接
查看>>
mysql加强(5)~DML 增删改操作和 DQL 查询操作
查看>>
mysql加强(6)~子查询简单介绍、子查询分类
查看>>
mysql加强(7)~事务、事务并发、解决事务并发的方法
查看>>
mysql千万级大数据SQL查询优化
查看>>
MySQL千万级大表优化策略
查看>>
MySQL单实例或多实例启动脚本
查看>>
MySQL压缩包方式安装,傻瓜式教学
查看>>