QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#914360 | #10077. The Cypriote Mermaid | Screenwalkers (Hirotaka Yoneda, Masataka Yoneda, Daiki Kodama)# | AC ✓ | 79ms | 11944kb | C++17 | 1.1kb | 2025-02-25 11:27:21 | 2025-02-25 11:27:23 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
long long mod = 998244353;
long long Fact[1 << 19];
long long Inv[1 << 19];
long long modpow(long long a, long long b, long long m) {
long long p = 1, q = a;
for (int i = 0; i < 30; i++) {
if ((b >> i) & 1) { p *= q; p %= m; }
q *= q; q %= m;
}
return p;
}
long long Division(long long a, long long b, long long m) {
return (a * modpow(b, m - 2, m)) % m;
}
void Initialize() {
Fact[0] = 1;
for (int i = 1; i <= 300000; i++) Fact[i] = (1LL * i * Fact[i - 1]) % mod;
for (int i = 0; i <= 300000; i++) Inv[i] = Division(1, Fact[i], mod);
}
long long ncr(int n, int r) {
if (n < r || r < 0) return 0;
return (Fact[n] * Inv[r] % mod) * Inv[n - r] % mod;
}
int main() {
string S; cin >> S;
Initialize();
if (S.size() % 2 == 1) {
cout << "0" << endl;
return 0;
}
int rem1 = S.size() / 2;
int rem2 = S.size() / 2;
for (int i = 0; i < S.size(); i++) {
int c = (S[i] - '0'); c ^= (i % 2);
if (S[i] == '?') continue;
if (c == 0) rem1--;
if (c == 1) rem2--;
}
cout << ncr(rem1 + rem2, rem1) << endl;
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 75ms
memory: 10200kb
input:
01?1??
output:
1
result:
ok 1 number(s): "1"
Test #2:
score: 0
Accepted
time: 74ms
memory: 11204kb
input:
0?1?1000???0?0010?0?
output:
70
result:
ok 1 number(s): "70"
Test #3:
score: 0
Accepted
time: 74ms
memory: 10712kb
input:
0??01111011??111
output:
4
result:
ok 1 number(s): "4"
Test #4:
score: 0
Accepted
time: 74ms
memory: 10556kb
input:
0???10??1?1?????11?0??0?0??0??0?????1???1????10?11
output:
565722720
result:
ok 1 number(s): "565722720"
Test #5:
score: 0
Accepted
time: 74ms
memory: 10096kb
input:
?11?1?????????11???0????1???0?????1??1?????1?000???????0???1?11????????????1??0??????????10???0??0??
output:
287125838
result:
ok 1 number(s): "287125838"
Test #6:
score: 0
Accepted
time: 73ms
memory: 11944kb
input:
?0???1???1?0??0?????????00??0?0???1???0?????????1??0???1?1?????1?0?0??01???0???1?0?10???1?????00??1???11?10????1?????11????????11??0?1?????1???0????00?0??????0??1???????????0???0???1?1?0???10????????1?????1??????????????0?00????????1??1?0????0???????1???1?110??0?1?????1???1????1????????????0???1???1...
output:
511534586
result:
ok 1 number(s): "511534586"
Test #7:
score: 0
Accepted
time: 74ms
memory: 10556kb
input:
00011000110110100000110010110010110001000010110100110010110001010001101101110101?110011010011000?011000000000011010001110111101010010011110000101010001010110011010001000011100101?1010101000011001111001000001001110110011111000000100011111000110110001011000101110000100001100000101101011111110010000000...
output:
6
result:
ok 1 number(s): "6"
Test #8:
score: 0
Accepted
time: 73ms
memory: 11196kb
input:
??11110???1??????0??01??0???110??00?1?1?1100?10?1??10?????0??10???0110????0?1101???1?0?010?11??0?1111??????????1????10?0??100???00?1???0?01?01?0????0??11?010???01?0??0?????00??1?0???00???????0????0001??10??0??1010?01??01?1?1?11?1??00?001?11?0?0?0?1?0??????11???0??010???0110?01??0????00??01??????10?0...
output:
466401736
result:
ok 1 number(s): "466401736"
Test #9:
score: 0
Accepted
time: 74ms
memory: 11380kb
input:
??????????????????0???1?1???????1?????????????????????????????????????0????0??1??0??????????0??????????????????????????????????1???????????????????1????????????????????????????0??????????????????????????????1???????????0?????????????1????1?????????1???????????????????????????????0???????????????????...
output:
811681097
result:
ok 1 number(s): "811681097"
Test #10:
score: 0
Accepted
time: 74ms
memory: 11032kb
input:
111????0????00??00?1101??1?0001???010?10010?10110000?11??11101?0?1?00???10??1?010?01?10????0??01????0?010?0??1??0??01??00?10011????0?0??0?001?1011?00??110?011101010?????1?0???11?110??0100100?1??0?01??01?000?0????0?01?1111?11?11???00?0101???0?1110?1?0111?1??11??1111011?0?0101???10?0101011???10??00011...
output:
154048253
result:
ok 1 number(s): "154048253"
Test #11:
score: 0
Accepted
time: 76ms
memory: 11208kb
input:
???0?1?00???01?01111?1?1???0??1011?0??0?10?110?000010?????0??0?000??00?010????00???100?0??10?0?01?01?1110000??001??0?00111??111
output:
0
result:
ok 1 number(s): "0"
Test #12:
score: 0
Accepted
time: 74ms
memory: 10484kb
input:
01010100000001010101?0010101010101010101010?01010101010101?10111010101010101010101010100010101010100010?010101010101000101010101010101010?01?101010001010101010101010101010101010101010101010101010101010101010101010101010101?1010101010101010101010101010101010101010101010001010?01010101010?01010?010101...
output:
0
result:
ok 1 number(s): "0"
Test #13:
score: 0
Accepted
time: 76ms
memory: 11352kb
input:
0101010?0????10?010?0??10101010101??0?01010101010101010101??0?1????10??101?1?101010?010101010?011??10?0101??01010?0?010?010101?1010101010?01010??1?10???01?11?010?0?01??01010101??0?010101110?010?0111?10?0??101?101?10101???10?1101?101???100???101?10??1?1?10??1?????11101?10??1?1?1?101?1?10?01010?01??01...
output:
0
result:
ok 1 number(s): "0"
Test #14:
score: 0
Accepted
time: 74ms
memory: 11412kb
input:
0010101010101010101010101010101?10101010101010101100101010101010101010101010101010101010?01010?010?0?0101010101010101010101010101010101000101?10?0111011101010101??010101011101010101?1010101010101010101010101010111?10?000101010?0101010?0101010101010101010101010?000101010101010101011101010101011101010...
output:
0
result:
ok 1 number(s): "0"
Test #15:
score: 0
Accepted
time: 76ms
memory: 11368kb
input:
010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101011101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101...
output:
0
result:
ok 1 number(s): "0"
Test #16:
score: 0
Accepted
time: 77ms
memory: 10268kb
input:
10101010100010101110101010101010101010101010101010101010101011001010101010111110101011101010101010101010101010101010101010101000111010001010101010100010000010101010101010101110101010101010101110101010101011111010101110?010101010101011101010101010101010101110101010101010101010101010101010101010101010...
output:
0
result:
ok 1 number(s): "0"
Test #17:
score: 0
Accepted
time: 78ms
memory: 11896kb
input:
0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010?01010101010101010101010101010101010101010101010101010101010101010101010101010101?1010101010101010101010101...
output:
0
result:
ok 1 number(s): "0"
Test #18:
score: 0
Accepted
time: 76ms
memory: 10552kb
input:
?1???00?0?010?110??1?0110101?1?1?0?00?1100011010001???0111100110??0??0000?10?0001???10?00?01?0??001101?0???1?11000?000?1010000??0?1????11????1111??111?0001?01?0??11010?1?10?????01?01?011?10??000?00?1?110??1?0?0001?01100?100?010101000011?10?0??10?1???0000?0001?01?0111?00101?1101010100??00001???010?00...
output:
574585470
result:
ok 1 number(s): "574585470"
Test #19:
score: 0
Accepted
time: 79ms
memory: 11732kb
input:
010000110000001110101110110101001010010101001011000110100101111110000011010011011101101000010010000010000101111010100110010001010010100110000001101010101000111010010110011000011111100001101010010101001001110101111000101000111101110001001011010010111101011011100011000100101100001110111000011110100011...
output:
1
result:
ok 1 number(s): "1"
Test #20:
score: 0
Accepted
time: 78ms
memory: 11444kb
input:
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????...
output:
436496381
result:
ok 1 number(s): "436496381"
Test #21:
score: 0
Accepted
time: 77ms
memory: 10316kb
input:
0?01011110101000110?10111?0111?010?0110011?1001?100100010000?00?1010011001000?00110001101001010111?0011?0?1?111011101111110101000100101011100110010101?0000?00?0001010011011011?1?00?1110110110?110111?1000??10?0110??010?1?0?0?11011001?110?00011110?0000100?01111??11?11001101?1100?00001?1100?1?10??11100...
output:
552407607
result:
ok 1 number(s): "552407607"
Test #22:
score: 0
Accepted
time: 76ms
memory: 10928kb
input:
11000?0011?0100?1?111?01001?00111100?10?1010111100011?01?1110011000100011000?001110010100?00001?0010?1001100011100??00111010000111101000010?01000?00?11000111000001?1001110000111110100?11101001100?101010110?111011010101?00110010?001001000?0011110??01?00111??001?000010111111100000001110000011110011010...
output:
46527247
result:
ok 1 number(s): "46527247"
Test #23:
score: 0
Accepted
time: 75ms
memory: 11084kb
input:
110110111010111010010101101000111001000111010000110010100010100101010100111010100101100010101000111010101100001001101111101000010000110010110101010011011100010001000101111011001101100010011011111110010110011101011010111010111110100101010100010001110010011001010010011001000101111000101011100101001011...
output:
1
result:
ok 1 number(s): "1"
Test #24:
score: 0
Accepted
time: 74ms
memory: 10956kb
input:
101110011101101000011010101101000100001010010011100001111101101001101101010011111111001001010010010100000010011100100110110000000111110111111010011000000111111110011001000101110000010010101111000111001000010011000000011010000010101001010000011001010101011010011011110000001111011110011010001110000001...
output:
0
result:
ok 1 number(s): "0"
Test #25:
score: 0
Accepted
time: 73ms
memory: 11804kb
input:
0010010100011110100110110100?100100001010?01101100001001100?010010?00?010100111111011101001010100011001101100001?1100010100010100100011101001010110110111111?1111100110111010110000?1110100000111001001?01001011111?10001110001111000110100110100?11010010010?10101100010101?010000000000011000000001?010011...
output:
72476953
result:
ok 1 number(s): "72476953"
Test #26:
score: 0
Accepted
time: 74ms
memory: 10296kb
input:
1
output:
0
result:
ok 1 number(s): "0"