[水]ZOJ1622

来源:互联网 发布:mysql入门经典pdf微盘 编辑:程序博客网 时间:2024/04/29 14:35

给一个01序列,求最少需要多少步让它变成 0 和1交替出现的序列

直接模拟变成两种序列需要的改变数就可以了

#include <bits/stdc++.h>using namespace std;int n;void Gao(){    int ans1=0,ans2=0,x,a[3]={0};    int sup1,sup2;    sup1=1;    sup2=0;    for (int i=1;i<=n;i++)    {        scanf("%d",&x);        ans1+=sup1^x,ans2+=sup2^x;        sup1^=1;sup2^=1;    }    cout<<min(ans1,ans2)<<endl;}int main(){   // freopen("a.in","r",stdin);    while(cin>>n)        Gao();    return 0;}


0 0
原创粉丝点击