| Task: | Merkkijonot |
| Sender: | vgtcross |
| Submission time: | 2023-01-21 14:01:33 +0200 |
| Language: | C++ (C++11) |
| Status: | READY |
| Result: | 0 |
| group | verdict | score |
|---|---|---|
| #1 | WRONG ANSWER | 0 |
| #2 | WRONG ANSWER | 0 |
| #3 | WRONG ANSWER | 0 |
| test | verdict | time | group | |
|---|---|---|---|---|
| #1 | WRONG ANSWER | 0.00 s | 1, 2, 3 | details |
| #2 | WRONG ANSWER | 0.00 s | 1, 2, 3 | details |
| #3 | WRONG ANSWER | 0.00 s | 1, 2, 3 | details |
| #4 | WRONG ANSWER | 0.00 s | 1, 2, 3 | details |
| #5 | WRONG ANSWER | 0.00 s | 2, 3 | details |
| #6 | WRONG ANSWER | 0.00 s | 2, 3 | details |
| #7 | WRONG ANSWER | 0.00 s | 2, 3 | details |
| #8 | WRONG ANSWER | 0.00 s | 2, 3 | details |
| #9 | WRONG ANSWER | 0.00 s | 3 | details |
| #10 | WRONG ANSWER | 0.00 s | 3 | details |
| #11 | WRONG ANSWER | 0.01 s | 3 | details |
| #12 | WRONG ANSWER | 0.00 s | 3 | details |
| #13 | WRONG ANSWER | 0.01 s | 3 | details |
| #14 | WRONG ANSWER | 0.00 s | 3 | details |
| #15 | WRONG ANSWER | 0.00 s | 2, 3 | details |
| #16 | WRONG ANSWER | 0.00 s | 3 | details |
Compiler report
input/code.cpp: In function 'int main()':
input/code.cpp:82:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
82 | freopen("input.txt", "r", stdin);
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~Code
#include <bits/stdc++.h>
#define MODE 1
#if MODE == 1
#define debug(x) cout << #x << ": " << x << endl
#define log(x) cout << x << endl
#else
#define debug(x)
#define log(x)
#endif
#define M 1000000007
using namespace std;
using ll = long long;
using pii = pair<int, int>;
void solve() {
int n;
cin >> n;
vector<pii> v(n, {0, 0});
int acnt=0, bcnt=0;
for (int i = 0; i < n; ++i) {
string s;
cin >> s;
for (char c: s) {
if (c == 'a') {
++v[i].first;
++acnt;
} else {
++v[i].second;
++bcnt;
}
}
}
if ((acnt&1) || (bcnt&1)) {
cout << "0\n";
return;
}
int agoal = acnt>>1;
int bgoal = bcnt>>1;
ll dp[agoal+1][bgoal+1];
ll next[agoal+1][bgoal+1];
memset(dp, 0, sizeof(dp));
memset(next, 0, sizeof(next));
dp[0][0] = 1;
int anow = 0;
int bnow = 0;
for (int i = 0; i < n; ++i) {
for (int j = 0; j <= anow; ++j) {
for (int k = 0; k <= bnow; ++k) {
next[j][k] = (next[j][k] + dp[j][k]) % M;
if (j + v[i].first <= agoal && k + v[i].second <= bgoal) {
next[j + v[i].first][k + v[i].second] = (next[j + v[i].first][k + v[i].second] + dp[j][k]) % M;
}
}
}
copy(next[0], next[agoal]+bgoal+1, dp[0]);
memset(next, 0, sizeof(next));
anow += v[i].first;
bnow += v[i].second;
}
cout << dp[agoal][bgoal] << '\n';
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
freopen("input.txt", "r", stdin);
solve();
return 0;
}Test details
Test 1
Group: 1, 2, 3
Verdict: WRONG ANSWER
| input |
|---|
| 4 b bbb baabaabaa aab |
| correct output |
|---|
| 0 |
| user output |
|---|
| 829356281 |
Test 2
Group: 1, 2, 3
Verdict: WRONG ANSWER
| input |
|---|
| 8 b bb baa a ... |
| correct output |
|---|
| 12 |
| user output |
|---|
| 829356281 |
Test 3
Group: 1, 2, 3
Verdict: WRONG ANSWER
| input |
|---|
| 16 a a a b ... |
| correct output |
|---|
| 5040 |
| user output |
|---|
| 829356281 |
Test 4
Group: 1, 2, 3
Verdict: WRONG ANSWER
| input |
|---|
| 16 b b a a ... |
| correct output |
|---|
| 0 |
| user output |
|---|
| 829356281 |
Test 5
Group: 2, 3
Verdict: WRONG ANSWER
| input |
|---|
| 5 bab bbaaabbabbbaababbbabbabaaabaaa... |
| correct output |
|---|
| 0 |
| user output |
|---|
| 829356281 |
Test 6
Group: 2, 3
Verdict: WRONG ANSWER
| input |
|---|
| 10 baabbbababbbabbaaaabab aabaaabbbab aaaabbabab aab ... |
| correct output |
|---|
| 2 |
| user output |
|---|
| 829356281 |
Test 7
Group: 2, 3
Verdict: WRONG ANSWER
| input |
|---|
| 20 aaaab baaab babb b ... |
| correct output |
|---|
| 4332 |
| user output |
|---|
| 829356281 |
Test 8
Group: 2, 3
Verdict: WRONG ANSWER
| input |
|---|
| 100 a b a b ... |
| correct output |
|---|
| 433105324 |
| user output |
|---|
| 829356281 |
Test 9
Group: 3
Verdict: WRONG ANSWER
| input |
|---|
| 10 aaaabbabbaabbaaaabbbbabaaaabab... |
| correct output |
|---|
| 0 |
| user output |
|---|
| 829356281 |
Test 10
Group: 3
Verdict: WRONG ANSWER
| input |
|---|
| 50 aaba aaa abbbbaaba ababbabbabab ... |
| correct output |
|---|
| 636733956 |
| user output |
|---|
| 829356281 |
Test 11
Group: 3
Verdict: WRONG ANSWER
| input |
|---|
| 100 ba bbbaba bbba bb ... |
| correct output |
|---|
| 264657218 |
| user output |
|---|
| 829356281 |
Test 12
Group: 3
Verdict: WRONG ANSWER
| input |
|---|
| 500 a b b b ... |
| correct output |
|---|
| 394045503 |
| user output |
|---|
| 829356281 |
Test 13
Group: 3
Verdict: WRONG ANSWER
| input |
|---|
| 2 bbbababaaaabbbaaaaaaabbabbbaab... |
| correct output |
|---|
| 2 |
| user output |
|---|
| 829356281 |
Test 14
Group: 3
Verdict: WRONG ANSWER
| input |
|---|
| 1 bbbaaaabaabbbababbbbbbbbabbbaa... |
| correct output |
|---|
| 0 |
| user output |
|---|
| 829356281 |
Test 15
Group: 2, 3
Verdict: WRONG ANSWER
| input |
|---|
| 100 a a a a ... |
| correct output |
|---|
| 538992043 |
| user output |
|---|
| 829356281 |
Test 16
Group: 3
Verdict: WRONG ANSWER
| input |
|---|
| 500 a a a a ... |
| correct output |
|---|
| 515561345 |
| user output |
|---|
| 829356281 |
