第五次比赛的水题

Description

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 adjacentpositions 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.

Sample Input

Input

4 1100

Output

0

Input

5 01010

Output

1

Input

8 11101111

Output

6

Hint

In the first sample test it is possible to change the string like the following: .1100到10再到空

In the second sample test it is possible to change the string like the following: .01010到010到0

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

题意:给一个字符串(注意是字符串),如果相邻的两个是0和1的话,就把他们拿去,一直这样最后输出字符串的长度,还有值得注意的就是这里只要求输出和输入一组数据......。

解题思路:开始看见题目,理解玩意思后,差点就被它唬住了。第一想到的是标记递归什么的,然后仔细一想,其实不用这么麻烦。字符串中只要有0和1,就一定会弹出去。这样就可以把问题转化为看这个字符串有多少个1和0,用多的减去少的,剩下的就是字符串长度.......

(注意这里要用字符串,我看见数字第一反应就是用数组,然后就一直没有输出。明明知道做却卡在了数组上半个小时多,这酸爽....

最后还是用了字符串,因为题目意思是用字符串,并且用数组不可以连续输入数字,例如输入1100,程序会将1100理解为一个数字.......

希望有人和我犯了一样的傻逼错误的时候可以改过来............(真是自己把自己蠢哭.....))

代码如下:

 1 #include <stdio.h>
 2 #include <string>
 3 char a[200010];
 4 int main()
 5 {
 6     int n;
 7     scanf("%d",&n);
 8     int m1=0,m2=0;
 9     scanf("%s",&a);
10     for(int j=0; j<n; j++)
11     {
12         if(a[j]==‘0‘)
13             m1=m1+1;
14         if(a[j]==‘1‘)
15             m2=m2+1;
16     }
17     if(m1>=m2)
18         printf("%d\n",m1-m2);
19     else
20         printf("%d\n",m2-m1);
21
22     return 0;
23 }
时间: 2024-10-05 21:30:21

第五次比赛的水题的相关文章

刷水题(五)

我要两天刷完所有n道水题,做出第i道题能获得a[i]点积分.现在我想要两天获得的积分尽量平均,问最小差多少? [输入] 第一行一个整数n,第二行n个整数,第i个整数a[i]表示做第i道水题获得的积分. [输出] 一个整数,表示两天积分的最小差值. [样例输入] 5 5 8 13 27 14 [样例输出] 3 [输出说明] (8+27)-(5+13+14)=3(积分) 和水题4类似,只不过总时间为所有积分总和的一半.(想想为什么) 1 #include<iostream> 2 using nam

5.1个人赛解题报告(区间dp,按位与或,图论等水题)

这次5.1打了一场个人赛,已经连赛了三周了,有点疲惫感觉,可能自己太水了,每次都有点小紧张. 这次只解出来三道题,然而有一道按位与按位或的水题不知道思路实在是做题太少,还有就是第一题区间DP,也消耗了不少的时间,但是没有成功的写出来,还是不够熟练啊. 下面写报告 A. System Administrator time limit per test 2 seconds memory limit per test 256 megabytes input standard input output

4.7-4.9补题+水题+高维前缀和

题目链接:51nod 1718 Cos的多项式  [数学] 题解: 2cosx=2cosx 2cos2x=(2cosx)^2-2 2cos3x=(2cosx)^3-3*(2cosx) 数归证明2cos(nx)能表示成关于2cosx的多项式,设为f(n) f(1)=x,f(2)=x^2-2(其中的x就是2cosx) 假设n=1~k时均成立(k>=3) 当n=k+1时 由cos((k+1)x)=cos(kx)cos(x)-sin(kx)sin(x) cos((k-1)x)=cos(kx)cos(x)

水题是糖 甜到忧伤

比赛的题目真是怒赞. 多天之后自己来敲了个水题A,果真甜到忧伤哇 "AAAAAAAAAAA"的字典序是比"AC"小的! #include <iostream> #include <cstring> #include <map> #include <cstdio> #include <cmath> using namespace std; char s[105]; int main() { int T; sc

说一说ST表 讲一讲水题

ST表 一.算法介绍 如何快速求解RMQ问题呢?暴力复杂度O(n),线段树复杂度O(n)~O(logn),要是数据规模达到10^7或者更高呢?我们需要一种可以做到O(1)查询的算法,这时就可以用到ST表. 我们用 f[i][j] 表示从 j 位置开始往右 2^i 个数内的最大值,用 g[i][j] 表示从j位置开始往左 2^i 个数内的最大值.所以 f[0][j] , g[0][j] 就为 j 位置上的数,可以在预处理中O(n)处理掉. 接下来我们要求出每个位置的每个 2^i 区间的最大值.可以

poj 1006:Biorhythms(水题,经典题,中国剩余定理)

Biorhythms Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 110991   Accepted: 34541 Description Some people believe that there are three cycles in a person's life that start the day he or she is born. These three cycles are the physical,

一道超级坑爹的水题(ACdream oj 无耻的出题人)

 A - 无耻的出题人 Time Limit: 2000/1000 MS (Java/Others)      Memory Limit: 65536/32768 KB (Java/Others) Submit Status Problem Description 听到X神要参加比赛,只会Fibnacci数的出题人被吓得哭晕在厕所.为了防止X神AK(ALL KILL)比赛题目,无耻的出题人只好在题面上做些手脚(加密).其中一道题的题目描述如下: hjxh dwh v vxxpde,mmo i

CF 628A --- Tennis Tournament --- 水题

CF 628A 题目大意:给定n,b,p,其中n为进行比赛的人数,b为每场进行比赛的每一位运动员需要的水的数量, p为整个赛程提供给每位运动员的毛巾数量, 每次在剩余的n人数中,挑选2^k=m(m <=n)个人进行比赛,剩余的n-m个人直接晋级, 直至只剩一人为止,问总共需要的水的数量和毛巾的数量 解题思路:毛巾数很简单: n*p即可 水的数量:1,2,4,8,16,32,64,128,256,512,提前打成一个表, 根据当前剩余的人数n在表中二分查找最大的小于等于n的数,结果即为本次进行比赛

cdoj 24 8球胜负(eight) 水题

8球胜负(eight) Time Limit: 20 Sec  Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/problem/show/24 Description 8球是一种台球竞赛的规则.台面上有7个红球.7个黄球以及一个黑球,当然还有一个白球.对于本题,我们使用如下的简化规则:红.黄两名选手轮流用白球击打各自颜色的球,如果将该颜色的7个球全部打进,则这名选手可以打黑球,如果打进则算他胜.如果在打进自己颜色的所有球之前就把黑球打进,则