迷之TLE
查看原帖
迷之TLE
351239
zunfxsinw楼主2022/1/29 23:53

全部TLE........

#include<bits/stdc++.h>
using namespace std;    
string str[105];

char f(char x)
{
    if(x == '0') return '1';
    else return '0';
}
int work(char w,int sum,int n)
{
    string a;
    int cnt[105] = {0},ans = 0;
    for(int i = 0;i < sum;i++)
    {
        int ok = 0;
        for(int j = 0;j < n;j++)
        {
            for(int k = cnt[j];k < str[j].size();k++)
                if(str[j][k] == w) 
                {
                    a.push_back(str[j][k]);
                    cnt[j] = k+1;
                    ok = 1;break;
                }
                else break;
            if(ok == 1) break;
        }
        if(ok == 0) w = f(w),sum++;
    }
    for(int i = 0;i < a.size()-1;i++) if(a[i] == a[i+1]) ans++;
    return ans;
}
int main()
{
    int n,sum,ans;
    cin >> n;
    for(int i = 0;i < n;i++)
        cin >> str[i],sum += (int)str[i].size();
    ans = max(work('0',sum,n),work('1',sum,n));
    cout << ans << '\n';
    return 0;
}
2022/1/29 23:53
加载中...