题解 CF36A 【Extra-terrestrial Intelligence】

引领天下

2018-05-20 20:29:10

Solution

这题好坑啊…… 其实模拟并不难,但是输入和输出有坑: # 输入要加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"); } ```