CodeForces 556A Case of the Zeros and Ones 【贪心 字符串】

A. Case of the Zeros and Ones
time limit per test1 second
memory limit per test256 megabytes
inputstandard input
outputstandard output
Andrewid the Android is a galaxy-famous detective. In his free time he likes to think about strings containing zeros and ones.

Once he thought about a string of length n consisting of zeroes and ones. Consider the following operation: we choose any two adjacent positions in the string, and if one them contains 0, and the other contains 1, then we are allowed to remove these two digits from the string, obtaining a string of length n - 2 as a result.

Now Andreid thinks about what is the minimum length of the string that can remain after applying the described operation several times (possibly, zero)? Help him to calculate this number.

Input
First line of the input contains a single integer n (1 ≤ n ≤ 2·105), the length of the string that Andreid has.

The second line contains the string of length n consisting only from zeros and ones.

Output
Output the minimum length of the string that may remain after applying the described operations several times.

Examples
inputCopy
4
1100
output
0
inputCopy
5
01010
output
1
inputCopy
8
11101111
output
6
Note
In the first sample test it is possible to change the string like the following: .

In the second sample test it is possible to change the string like the following: .

In the third sample test it is possible to change the string like the following: .

思路:本来苦恼每次查找还要删除比较麻烦 但是经过几个01字符串的试探,发现无论删除哪个位置的是01还是10都不会影响最后的结果。剩下的一定全是0或者全是1(只用比较谁多)。

#include
#include
using namespace std;
char num[200005];
int main()
{
    int n;
    cin>>n;
    char c;
    int cnt0 = 0;
    int cnt1 = 0;
    for(int i = 0;icin>>c;
        if(c=='0') cnt0++;
        else cnt1++;
    }
    int mini = min(cnt1,cnt0);
    cout<2<return 0;
}

你可能感兴趣的:(CodeForces 556A Case of the Zeros and Ones 【贪心 字符串】)