CSES - Datatähti 2020 alku - Results
Submission details
Task:Merkkijonot
Sender:mikael
Submission time:2019-10-03 20:12:02 +0300
Language:Node.js
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
#30
Test results
testverdicttimegroup
#10.43 s1, 2, 3details
#20.55 s2, 3details
#3--3details
#4--3details
#5--3details
#60.43 s1, 2, 3details
#70.43 s1, 2, 3details
#80.43 s1, 2, 3details
#90.43 s1, 2, 3details
#100.55 s2, 3details
#110.55 s2, 3details
#120.55 s2, 3details
#130.55 s2, 3details
#140.55 s2, 3details
#15--3details
#16--3details
#17--3details
#18--3details
#19--3details
#200.43 s1, 2, 3details
#210.43 s1, 2, 3details
#220.43 s1, 2, 3details
#230.43 s1, 2, 3details
#240.43 s1, 2, 3details

Code

var readline = require('readline');

var r = readline.createInterface({
    input: process.stdin,
    output: process.stdout,
    terminal: false
});
/*
6
AAB
ABKA
SSG
TSGT
ZZZZ
KEAK
*/
var i = 0;
/*
var expectedAmount = 6;
var strings = ['AAB', 'ABKA', 'SSG', 'TSGT', 'ZZZZ', 'KEAK'];
harmonies();*/
var expectedAmount = 0;
var strings = [];


function makeLetterList(str) {
    var letterList = {};
    for (var z = 0; z < str.length; z++) {
        if (letterList[str[z]] != undefined) {
            letterList[str[z]].push(z);
        } else {
            letterList[str[z]] = [z];
        }
    }
    return letterList;
}
function harmonies() {
    //console.log('');
    //console.log('Harmonies');
    //console.log('');
    var letterLists = [];
    for (var x = 0; x < strings.length; x++) {
        //console.log(JSON.stringify(strings[x]));
        letterLists.push({string: strings[x], letterList: makeLetterList(strings[x])});
    }
    //console.log(JSON.stringify(letterLists));
    var matches = 0;
    for (var i = 0; i < letterLists.length; i++) {
        var letterListA = letterLists[i];
        //console.log(letterListA.string);
        for (var d = 0; d < letterLists.length; d++) {
            if (i != d) {
                var letterListB = letterLists[d];
                if (letterListA.string.length == letterListB.string.length) {
                    var match = false;
                    Object.keys(letterListB.letterList).forEach(function(val, ix) {
                        var lbl = letterListB.letterList[val];
                        Object.keys(letterListA.letterList).forEach(function(val, ix) {
                            var lal = letterListA.letterList[val];
                            if (lal[0] == lbl[0] && lal[1] == lbl[1]) {
                                match = true;
                            }
                        });
                    });
                    if (match == true) {
                        //console.log('Match: ' + letterListB.string);
                        matches++;
                    }
                }
            } 
        }
        //console.log('');
    }
    console.log(matches / 2);
}
r.on('line', function (line) {
    /*
    if (i == 0) {
        expectedAmount = parseInt(line);
    } else {
        strings.push(line.trim());
        if (i == expectedAmount) {
            harmonies();
        }
    }
    
    i++;*/
    var input = line.split('\n');
    var expectedAmount = input[0];
    for (var i = 1; i < input.length; i++) {
        strings.push(input[i].trim());
    }
    harmonies();
});

Test details

Test 1

Group: 1, 2, 3

Verdict:

input
20
FFDISOVJLPIASANJRBHQXJVW
HBGVRZFWOTAAVUPYKMKXAOBEYUE
JKHXTPHUKTLTLNXMXMSYYFLF
HCSZMXTZCUFHIHSTEWKHCFZRTXU
...

correct output
20

user output
0
0
0
0
0
...

Test 2

Group: 2, 3

Verdict:

input
5000
AJEDROEDXRGDUSDAPZBXXQBPJ
PDGCTAGCRTBCJICPFELRRMLFD
TISAOTGMDKUCITIEFQVCSBZJYUUO
FMASVJYFPMELSVLQWFZVLVMSPHYL
...

correct output
2178556

user output
0
0
0
0
0
...
Truncated

Test 3

Group: 3

Verdict:

input
100000
RESKYADLVRSDCDXJVECAJCAP
CZLIWDHKVNRJHZINHFBOQEPN
LSTRSDTLADUIWXFQJSQPVRSPBCTZ
QEMSZOQSSVBRNQTCLJQIGVQO
...

correct output
404880850

user output
(empty)

Test 4

Group: 3

Verdict:

input
100000
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...

correct output
4999950000

user output
(empty)

Test 5

Group: 3

Verdict:

input
100000
IPI
Q
SPGV
UNYE
...

correct output
1041990627

user output
(empty)

Test 6

Group: 1, 2, 3

Verdict:

input
20
A
B
C
D
...

correct output
190

user output
0
0
0
0
0
...

Test 7

Group: 1, 2, 3

Verdict:

input
1
A

correct output
0

user output
0
0

Test 8

Group: 1, 2, 3

Verdict:

input
20
A
BB
CCC
DDDD
...

correct output
0

user output
0
0
0
0
0
...

Test 9

Group: 1, 2, 3

Verdict:

input
2
A
A

correct output
1

user output
0
0
0

Test 10

Group: 2, 3

Verdict:

input
5000
SEKNHNRHSRFYIHSCDPGXPTGUSYBFKZ...

correct output
20861

user output
0
0
0
0
0
...
Truncated

Test 11

Group: 2, 3

Verdict:

input
5000
UGPWHWOWAREEIROZTRJGUCKDKTZJEO...

correct output
22818

user output
0
0
0
0
0
...
Truncated

Test 12

Group: 2, 3

Verdict:

input
5000
FFQQCBCINBDWIKHFPO
SCJU
DNHYPGIQNZS
KNQCYRAXHHKORXMOVHL
...

correct output
22268

user output
0
0
0
0
0
...
Truncated

Test 13

Group: 2, 3

Verdict:

input
5000
QVWMSYPWXWBBXWCVEOUAVQLDWNBXZB...

correct output
22589

user output
0
0
0
0
0
...
Truncated

Test 14

Group: 2, 3

Verdict:

input
5000
JYORMNQAKXHNRBWGGSMWXWXMBKPBZU...

correct output
20482

user output
0
0
0
0
0
...
Truncated

Test 15

Group: 3

Verdict:

input
100000
DCXXVIEYQAASZJYUUVYZUIJFGVBAYC...

correct output
8925377

user output
(empty)

Test 16

Group: 3

Verdict:

input
100000
IJZHBIYNWQBDWNGZWVXJKXXWFVLPQX...

correct output
8907840

user output
(empty)

Test 17

Group: 3

Verdict:

input
100000
GWUGLGQDAYGGJROIAKBMMICQMDUQQQ...

correct output
8771809

user output
(empty)

Test 18

Group: 3

Verdict:

input
100000
SWVSVXURRSLCSHCPAKWESIPCNDKYLD...

correct output
8704480

user output
(empty)

Test 19

Group: 3

Verdict:

input
100000
ZLSNSZBGIMCOLPDEAKVDAJCTMBNRLH...

correct output
8672362

user output
(empty)

Test 20

Group: 1, 2, 3

Verdict:

input
20
AAB
D
CDBAA
D
...

correct output
15

user output
0
0
0
0
0
...

Test 21

Group: 1, 2, 3

Verdict:

input
20
A
CDD
AABBC
DBCB
...

correct output
15

user output
0
0
0
0
0
...

Test 22

Group: 1, 2, 3

Verdict:

input
20
ACADD
CDDCD
DACA
CCDCA
...

correct output
17

user output
0
0
0
0
0
...

Test 23

Group: 1, 2, 3

Verdict:

input
20
DCDA
BDBA
CACBD
BA
...

correct output
7

user output
0
0
0
0
0
...

Test 24

Group: 1, 2, 3

Verdict:

input
20
DDA
BBCDC
DDD
CCD
...

correct output
14

user output
0
0
0
0
0
...