hihoCoder太阁最新面经算法竞赛5 register

Ended

Participants:118

Verdict:Accepted
Score:100 / 100
Submitted:2016-06-20 19:44:14

Lang:G++

Edit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <cstdio>
#include <cstring>
#include <algorithm>
#define CLEAR(A, X) memset(A, X, sizeof(A))
#define FREAD(filename) freopen(filename, "r", stdin)
#define REP(N) for(int i=0; i<(N); i++)
using namespace std;
const int MAX_N = 1005;
int T;
char S[MAX_N];
int zero[MAX_N], one[MAX_N];
int main()
{
    //FREAD("inter10-1.txt");
    scanf("%d", &T);
    while(T--){
        scanf("%s", S);
        CLEAR(zero, 0);
        CLEAR(one, 0);
        int n = 0;
        while(S[n] != '\0') n++;
        one[0] = (S[0] == '1') ? 1: 0;
        for(int i=1; i<n; i++){
            one[i] = one[i-1];
            if(S[i] == '1') one[i]++;
        }
        zero[n-1] = (S[n-1] == '0') ? 1 : 0;
        for(int i=n-2; i>=0; i--){
            zero[i] = zero[i+1];
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX