ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#212081 | #3818. 01游戏 | Rainxcy | 0 | 0ms | 0kb | C++ | 915b | 2024-10-13 11:02:10 | 2024-10-13 12:40:07 |
answer
#include <bits/stdc++.h>
using namespace std;
string s;
int n,Max=0;
void dfs(int deep,string s);
int check(string s);
int main()
{
cin>>s;
n=s.size();
dfs(n,s);
printf("%d\n",Max);
return 0;
}
void dfs(int deep,string s){
if(deep<0){
int k=check(s);
if(k>Max){
Max=k;
}
return;
}
dfs(deep-1,s);
string t=s;
for(int i=0;i<deep;i++){
t[i]=(t[i]=='0'?'1':'0');
}
for(int i=deep;i<=(n-1+deep)/2;i++){
swap(t[i],t[n-1-i+deep]);
}
dfs(deep-1,t);
}
int check(string s){
int M=0,i=0;
while(i<n){
char c;
c=((s[i]=='0')?'1':'0');
int z=i;
i++;
while(s[i]==c){
c=((s[i]=='0')?'1':'0');
i++;
}
if(i-z>M){
M=i-z;
}
}
return M;
}
详细
小提示:点击横条可展开更详细的信息
Subtask #1:
score: 0
Time Limit Exceeded
Test #1:
score: 0
Time Limit Exceeded
input:
11000001100100000010
output:
result:
Subtask #2:
score: 0
Time Limit Exceeded
Test #9:
score: 0
Time Limit Exceeded
input:
1101111111000101001010110010010111010010111001000100101001010110110001100110011101010010001101001100...
output:
result:
Subtask #3:
score: 0
Time Limit Exceeded
Test #17:
score: 0
Time Limit Exceeded
input:
0101100001001111011100100000011100110100001001100110111000100001110101010001010011000110001001110000...
output:
result:
Subtask #4:
score: 0
Memory Limit Exceeded
Test #25:
score: 0
Memory Limit Exceeded
input:
0001001111100010010111110001100000010001011100010011110001000101110010101011111100000101111100110100...