CSES - Datatähti 2023 loppu - Results
Submission details
Task:Merkkijonot
Sender:Turtleb01
Submission time:2023-01-21 14:13:57 +0200
Language:Node.js
Status:READY
Result:15
Feedback
groupverdictscore
#1ACCEPTED15
#20
#30
Test results
testverdicttimegroup
#1ACCEPTED0.11 s1, 2, 3details
#2ACCEPTED0.11 s1, 2, 3details
#3ACCEPTED0.12 s1, 2, 3details
#4ACCEPTED0.12 s1, 2, 3details
#5ACCEPTED0.11 s2, 3details
#6ACCEPTED0.11 s2, 3details
#7ACCEPTED0.13 s2, 3details
#8--2, 3details
#9ACCEPTED0.11 s3details
#10--3details
#11--3details
#12--3details
#13ACCEPTED0.11 s3details
#14ACCEPTED0.11 s3details
#15--2, 3details
#16--3details

Code

const fs = require("fs");

const input = fs.readFileSync(0, {encoding:"utf-8"}).split("\n");

const lines = parseInt(input[0]);

const mod = 1e9+7;

const strlist = [];

for(let i=1;i<=lines;i++) {
    amounts = [0,0];
    input[i].split("").forEach(e=>amounts[Number(e=="b")]++);
    strlist.push(amounts);
}
// console.log(...strlist);
let totals = strlist.reduce((v,e)=>[v[0]+e[0],v[1]+e[1]],[0,0]);
let targets = totals.map(e=>e/2);
let len = strlist.length;

// console.log(...totals);

function rec(a,b,i) {
//     console.log(a,b,i);
    if(a>targets[0]||b>targets[1]) {
        return 0;
    } else if(a==targets[0]&&b==targets[1]) {
        return 1;
    } else {
        let sum = 0;
        for(;i<len;i++) {
            sum+=rec(a+strlist[i][0],b+strlist[i][1],i+1);
        }
        return sum;
    }
}

console.log(rec(0,0,0));

Test details

Test 1

Group: 1, 2, 3

Verdict: ACCEPTED

input
4
b
bbb
baabaabaa
aab

correct output
0

user output
0

Test 2

Group: 1, 2, 3

Verdict: ACCEPTED

input
8
b
bb
baa
a
...

correct output
12

user output
12

Test 3

Group: 1, 2, 3

Verdict: ACCEPTED

input
16
a
a
a
b
...

correct output
5040

user output
5040

Test 4

Group: 1, 2, 3

Verdict: ACCEPTED

input
16
b
b
a
a
...

correct output
0

user output
0

Test 5

Group: 2, 3

Verdict: ACCEPTED

input
5
bab
bbaaabbabbbaababbbabbabaaabaaa...

correct output
0

user output
0

Test 6

Group: 2, 3

Verdict: ACCEPTED

input
10
baabbbababbbabbaaaabab
aabaaabbbab
aaaabbabab
aab
...

correct output
2

user output
2

Test 7

Group: 2, 3

Verdict: ACCEPTED

input
20
aaaab
baaab
babb
b
...

correct output
4332

user output
4332

Test 8

Group: 2, 3

Verdict:

input
100
a
b
a
b
...

correct output
433105324

user output
(empty)

Test 9

Group: 3

Verdict: ACCEPTED

input
10
aaaabbabbaabbaaaabbbbabaaaabab...

correct output
0

user output
0

Test 10

Group: 3

Verdict:

input
50
aaba
aaa
abbbbaaba
ababbabbabab
...

correct output
636733956

user output
(empty)

Test 11

Group: 3

Verdict:

input
100
ba
bbbaba
bbba
bb
...

correct output
264657218

user output
(empty)

Test 12

Group: 3

Verdict:

input
500
a
b
b
b
...

correct output
394045503

user output
(empty)

Test 13

Group: 3

Verdict: ACCEPTED

input
2
bbbababaaaabbbaaaaaaabbabbbaab...

correct output
2

user output
2

Test 14

Group: 3

Verdict: ACCEPTED

input
1
bbbaaaabaabbbababbbbbbbbabbbaa...

correct output
0

user output
0

Test 15

Group: 2, 3

Verdict:

input
100
a
a
a
a
...

correct output
538992043

user output
(empty)

Test 16

Group: 3

Verdict:

input
500
a
a
a
a
...

correct output
515561345

user output
(empty)