Codeforces Beta Round #46 (Div. 2), problem: (D) Game 贪心YY

来源:互联网 发布:烈焰龙城轮回数据 编辑:程序博客网 时间:2024/05/17 02:27

题意:把一个二进制数改成01相间的状态。允许选择两个数字相同连块,随意改变它们的数字

做法:可以确定的是,不管什么样的数字都是可以改成01相间的样子的,而且长度相同的数字只有两种01相间的情况,而且有可能只有一种情况是可行的。而且又可以确定的是,只要是合理方案,其实就是一个一个找出不对的数字进行改变就可以了。YY YY YY。。

#include <iostream>#include <cstdio>#include <algorithm>const int LMT=1002;using namespace std;char s[LMT];int main(){    int n,a,b;    a=b=0;    scanf("%d",&n);    scanf("%s",s);    for(int i=0;i<n;i++)    {        if((s[i]+i)&1)a++;        else b++;    }    printf("%d\n",min(a,b));    return 0;}