QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#431049 | #8639. 消除 | Kevin5307 | 100 ✓ | 58ms | 66956kb | C++23 | 1.3kb | 2024-06-04 20:19:59 | 2024-06-04 20:19:59 |
Judging History
answer
//Author: Kevin
#include<bits/stdc++.h>
//#pragma GCC optimize("O2")
using namespace std;
#define ll long long
#define ull unsigned ll
#define pb emplace_back
#define mp make_pair
#define ALL(x) (x).begin(),(x).end()
#define rALL(x) (x).rbegin(),(x).rend()
#define srt(x) sort(ALL(x))
#define rev(x) reverse(ALL(x))
#define rsrt(x) sort(rALL(x))
#define sz(x) (int)(x.size())
#define inf 0x3f3f3f3f
#define pii pair<int,int>
#define lb(v,x) (int)(lower_bound(ALL(v),x)-v.begin())
#define ub(v,x) (int)(upper_bound(ALL(v),x)-v.begin())
#define uni(v) v.resize(unique(ALL(v))-v.begin())
#define longer __int128_t
void die(string S){puts(S.c_str());exit(0);}
const ll mod=998244353;
void upd(ll &a,ll b){a=(a+b)%mod;}
string s;
int n;
ll dp[1001000][2][2][2];
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cin>>n>>s;
dp[0][0][0][0]=1;
for(int i=0;i<n;i++)
{
for(int a=0;a<2;a++)
for(int b=0;b<2;b++)
for(int c=0;c<2;c++)
{
upd(dp[i+1][a][b][c],dp[i][a][b][c]);
for(int x=0;x<2;x++)
if(s[i]=='?'||(s[i]==x+48))
upd(dp[i+1][a^1][x][c|(a==0&&b==0&&x==1)],dp[i][a][b][c]);
}
}
ll ans=0;
for(int b=0;b<2;b++)
for(int c=0;c<2;c++)
if(!b||c)
upd(ans,dp[n][0][b][c]);
cout<<ans<<endl;
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 5
Accepted
time: 1ms
memory: 3672kb
input:
8 ????????
output:
2764
result:
ok 1 number(s): "2764"
Test #2:
score: 5
Accepted
time: 0ms
memory: 3624kb
input:
8 100?011?
output:
240
result:
ok 1 number(s): "240"
Test #3:
score: 5
Accepted
time: 0ms
memory: 3992kb
input:
4997 ??????1???????????????????1????????????????????????????????????????0?????????01???0????????????????????????1??1?????0???1?1????????????0????0?????????????????????????????0???0??????????0?????1100????0??1???????????1????????????????????????1??000??????????????????????????????0????????????0?????1...
output:
481706525
result:
ok 1 number(s): "481706525"
Test #4:
score: 5
Accepted
time: 0ms
memory: 3988kb
input:
4999 011???1011?10?1?00010?10??01?010?00?0?0??0100?010001001???10??00000110001?0??010??10??0?0??0?00??11001011011??11?11?1?11?1???0?1?1??0?1?00100?1011001111101011?101001?0???000?11111010?0010?0000?1111000?01?10???0?1001?1?11????010?1?0?0??10111?1?011??0111111?00???0??0?111??10???0???0?1?00010?1?010...
output:
927141779
result:
ok 1 number(s): "927141779"
Test #5:
score: 5
Accepted
time: 1ms
memory: 4012kb
input:
4998 ?1?1???1???0???1???1?1????????0???????????????????????????0??????????????????????10???????????????????????0??1???????0??0???????1???????1?10?????????????????0?0???????00?1?????0???????????0????????0???????????1??1?????0???????????????????????????????0??????????1?????????????????????????????????...
output:
527991571
result:
ok 1 number(s): "527991571"
Test #6:
score: 5
Accepted
time: 1ms
memory: 4004kb
input:
5000 100?011?00101?0?010?010110??1000?1?01111?0?1?011?11011???101?11?0?110?10?0?01011??10?01??10100?0?0???00?10??11011111?001101?000?00000101?0?01?10?11111110?11?1?01?1?11?01??111?10?101??11011?0?100?11?01100?1???10?1010?110110110011???0?00000??1?111?0001??101?0?10?111?0?00?0?0?011?111111?0000?1010?...
output:
775395392
result:
ok 1 number(s): "775395392"
Test #7:
score: 5
Accepted
time: 0ms
memory: 3992kb
input:
4997 ??????1???????????????????1????????????????????????????????????????0?????????01???0????????????????????????1??1?????0???1?1????????????0????0?????????????????????????????0???0??????????0?????1100????0??1???????????1????????????????????????1??000??????????????????????????????0????????????0?????1...
output:
481706525
result:
ok 1 number(s): "481706525"
Test #8:
score: 5
Accepted
time: 1ms
memory: 4052kb
input:
5000 100?011?00101?0?010?010110??1000?1?01111?0?1?011?11011???101?11?0?110?10?0?01011??10?01??10100?0?0???00?10??11011111?001101?000?00000101?0?01?10?11111110?11?1?01?1?11?01??111?10?101??11011?0?100?11?01100?1???10?1010?110110110011???0?00000??1?111?0001??101?0?10?111?0?00?0?0?011?111111?0000?1010?...
output:
775395392
result:
ok 1 number(s): "775395392"
Test #9:
score: 5
Accepted
time: 1ms
memory: 3916kb
input:
4999 ?1?1???1???0???1???1?1????????0???????????????????????????0??????????????????????10???????????????????????0??1???????0??0???????1???????1?10?????????????????0?0???????00?1?????0???????????0????????0???????????1??1?????0???????????????????????????????0??????????1?????????????????????????????????...
output:
356481180
result:
ok 1 number(s): "356481180"
Test #10:
score: 5
Accepted
time: 1ms
memory: 3972kb
input:
4998 011???1011?10?1?00010?10??01?010?00?0?0??0100?010001001???10??00000110001?0??010??10??0?0??0?00??11001011011??11?11?1?11?1???0?1?1??0?1?00100?1011001111101011?101001?0???000?11111010?0010?0000?1111000?01?10???0?1001?1?11????010?1?0?0??10111?1?011??0111111?00???0??0?111??10???0???0?1?00010?1?010...
output:
300686604
result:
ok 1 number(s): "300686604"
Test #11:
score: 5
Accepted
time: 34ms
memory: 66956kb
input:
999996 ????1??100??????????1?1??????????????????????????????1???????????1?1??????1?????0???????????????10????????????1????????????????????????????????0????????0??1??????????????????????0???1100??01????1????????????????0?0???0???????????????????????1?1???????0???1????????????????0???????????????????1...
output:
775312388
result:
ok 1 number(s): "775312388"
Test #12:
score: 5
Accepted
time: 51ms
memory: 66880kb
input:
999999 01?1??1?1??0000111?1?0???1000011?10?1?1??10010???10?011????0?1?000??0110??10?00?0111000001100001100?1?001111?1??1101???01101?101?010011??01??0?1?00?0??1010101?0?11??01?111111010011011?0100000?10010?0?0?10??1??001??00100?0??1?0?00001?11??1111001?0110?111??1????0?11?00110000110?000011?0??0?100?...
output:
240432497
result:
ok 1 number(s): "240432497"
Test #13:
score: 5
Accepted
time: 41ms
memory: 66920kb
input:
999998 ???????????0????10??1?????????1???????????????????????1??????1????0?????10????????0??0???0?1??????0???1?????1???0???????????0???????11??????????1????0?????????0????0???????0????01?0?????????????0???????10??????1????????1??1?0?1??????????????1????????????1?1????????????????????????????????????...
output:
447215377
result:
ok 1 number(s): "447215377"
Test #14:
score: 5
Accepted
time: 58ms
memory: 66872kb
input:
999998 01?1??1?1??0000111?1?0???1000011?10?1?1??10010???10?011????0?1?000??0110??10?00?0111000001100001100?1?001111?1??1101???01101?101?010011??01??0?1?00?0??1010101?0?11??01?111111010011011?0100000?10010?0?0?10??1??001??00100?0??1?0?00001?11??1111001?0110?111??1????0?11?00110000110?000011?0??0?100?...
output:
149098020
result:
ok 1 number(s): "149098020"
Test #15:
score: 5
Accepted
time: 50ms
memory: 66924kb
input:
1000000 ?????0????????11???0???1?????1??????0???????0?1??101???????????0????????????????????1?????????????0?????????????????1????????????????1???????1????????????????0????????????????????????????????00????????1???1???????10????1???10?1?????1?????????????0?1??0?????0????????????????1??????????0??????...
output:
934928332
result:
ok 1 number(s): "934928332"
Test #16:
score: 5
Accepted
time: 45ms
memory: 66780kb
input:
999996 10????11?0??1?010??1?1?101??111?111?0100??00?0??01?0??11101?0???0111??1???1?0011?11?00011?1?101??01?00??011011?1?0?1000?0?1??1???10?101?1100????0?0??11?11?1??11111?100010011011?10?00?11?01110?010??10110???1?10?11?1010000?000?10??01?11?001?1?0????11011?0?001001010?01?1????11?0101??0?01010111?1...
output:
859594688
result:
ok 1 number(s): "859594688"
Test #17:
score: 5
Accepted
time: 43ms
memory: 66868kb
input:
999997 ????1??100??????????1?1??????????????????????????????1???????????1?1??????1?????0???????????????10????????????1????????????????????????????????0????????0??1??????????????????????0???1100??01????1????????????????0?0???0???????????????????????1?1???????0???1????????????????0???????????????????1...
output:
77832459
result:
ok 1 number(s): "77832459"
Test #18:
score: 5
Accepted
time: 37ms
memory: 66876kb
input:
999999 0000110000100?0?1000?100001?100?11?00?111?11?100?0110??001???110?0000111?0?111?01?01?00?10111??1011000??0?110?0010?10?001?????1?000110010011?1?1???0?011011?10?1000?1?1???1?110110111101??10?000100??1??11100?1?000111?101????010010?1010?100??0?00??01??00101?1?1110?00011011111101?1?1??001010?0?01...
output:
853633847
result:
ok 1 number(s): "853633847"
Test #19:
score: 5
Accepted
time: 49ms
memory: 66876kb
input:
1000000 ?????0????????11???0???1?????1??????0???????0?1??101???????????0????????????????????1?????????????0?????????????????1????????????????1???????1????????????????0????????????????????????????????00????????1???1???????10????1???10?1?????1?????????????0?1??0?????0????????????????1??????????0??????...
output:
934928332
result:
ok 1 number(s): "934928332"
Test #20:
score: 5
Accepted
time: 32ms
memory: 66896kb
input:
999999 0000110000100?0?1000?100001?100?11?00?111?11?100?0110??001???110?0000111?0?111?01?01?00?10111??1011000??0?110?0010?10?001?????1?000110010011?1?1???0?011011?10?1000?1?1???1?110110111101??10?000100??1??11100?1?000111?101????010010?1010?100??0?00??01??00101?1?1110?00011011111101?1?1??001010?0?01...
output:
853633847
result:
ok 1 number(s): "853633847"