题解 CF36A 【Extra-terrestrial Intelligence】
引领天下
2018-05-20 20:29:10
这题好坑啊……
其实模拟并不难,但是输入和输出有坑:
# 输入要加freopen("input.txt","r",stdin) 输出要加freopen("output.txt","w",stdout)
# 输入要加freopen("input.txt","r",stdin) 输出要加freopen("output.txt","w",stdout)
# 输入要加freopen("input.txt","r",stdin) 输出要加freopen("output.txt","w",stdout)
重要的事情说三遍
代码:
```cpp
#include<cstdio>
int n,a[105],l1,l2;
int main(void){
freopen("input.txt","r",stdin);
freopen("output.txt","w",stdout);
scanf ("%d",&n);
for (int i=1;i<=n;i++){
scanf("%1d",&a[i]);
if(a[i]&&!l1)l1=i;//记录第一个1
else if (a[i]&&!l2)l2=i;//记录第2个1
}
for (int i=l2+1;i<=n;i++)if (a[i]&&i-l2==l2-l1)l1=l2,l2=i;//间隔相同,更新
else if(a[i])return !printf ("NO");//不相同直接退出
printf ("YES");
}
```