Task: | Arpakuutiot |
Sender: | hltk |
Submission time: | 2020-10-03 21:06:10 +0300 |
Language: | C++ (C++17) |
Status: | READY |
Result: | 100 |
group | verdict | score |
---|---|---|
#1 | ACCEPTED | 35 |
#2 | ACCEPTED | 65 |
test | verdict | time | group | |
---|---|---|---|---|
#1 | ACCEPTED | 0.01 s | 1, 2 | details |
#2 | ACCEPTED | 0.01 s | 1, 2 | details |
#3 | ACCEPTED | 0.01 s | 1, 2 | details |
#4 | ACCEPTED | 0.01 s | 1, 2 | details |
#5 | ACCEPTED | 0.01 s | 1, 2 | details |
#6 | ACCEPTED | 0.01 s | 1, 2 | details |
#7 | ACCEPTED | 0.01 s | 1, 2 | details |
#8 | ACCEPTED | 0.01 s | 1, 2 | details |
#9 | ACCEPTED | 0.01 s | 1, 2 | details |
#10 | ACCEPTED | 0.01 s | 1, 2 | details |
#11 | ACCEPTED | 0.01 s | 2 | details |
#12 | ACCEPTED | 0.01 s | 2 | details |
#13 | ACCEPTED | 0.01 s | 2 | details |
#14 | ACCEPTED | 0.01 s | 2 | details |
#15 | ACCEPTED | 0.01 s | 2 | details |
#16 | ACCEPTED | 0.01 s | 2 | details |
#17 | ACCEPTED | 0.01 s | 2 | details |
#18 | ACCEPTED | 0.01 s | 2 | details |
#19 | ACCEPTED | 0.01 s | 2 | details |
#20 | ACCEPTED | 0.01 s | 2 | details |
#21 | ACCEPTED | 0.01 s | 2 | details |
#22 | ACCEPTED | 0.01 s | 2 | details |
#23 | ACCEPTED | 0.01 s | 2 | details |
#24 | ACCEPTED | 0.01 s | 2 | details |
#25 | ACCEPTED | 0.01 s | 2 | details |
#26 | ACCEPTED | 0.01 s | 2 | details |
#27 | ACCEPTED | 0.01 s | 2 | details |
#28 | ACCEPTED | 0.01 s | 2 | details |
#29 | ACCEPTED | 0.01 s | 2 | details |
#30 | ACCEPTED | 0.01 s | 2 | details |
#31 | ACCEPTED | 0.01 s | 1, 2 | details |
Code
#include <iostream> #include <map> #include <vector> const char *data = "........0....1....2...345" "........0....1...325...4." "...0...315.42............" ".............0.5431...2.." ".............0..431....25" "............0....154.32.." "..0....1....2...345......" "...01...3...42....5......" ".......0...315....24....." ".......0....15..32...4..." ".....0....1543...2......." "...0....1....25....4....3" ".0....1....25..34........" ".......01.543....2......." ".....0....15....24....3.." "........0.5431.2........." "......0....1....2...345.." "...............012....345" "..............0..431.52.." "...0.5431...2............" "..0...3154...2..........." "....0...31..42....5......" "...0...31..42....5......." ".......0....15....24...3." ".0...3154...2............" "........0..4315...2......" ".0....154....23.........." ".......0...315.42........" "............01.543....2.." ".............0..4315..2.." "........01.543..2........" "........0....15...2...34." ".......0..4315...2......." ".......0....1...325....4." "......01....325..4......." "...01...3....2...45......" "............0...315.42..." "0....1543...2............" "...0....1....25..34......" ".......0....154...2....3." "0....15....2....34......." "..............0.5431....2" ".........0...31..42...5.." "......0....15..32...4...." "........0....1...32....45" ".........0.5431.2........" ".......0...31..42...5...." ".0....1543..2............" "..0....1...325...4......." "...0..4315..2............" ".......0....154.32......." "...0..431...2....5......." "..............0.5431.2..." "....0...31..42...5......." "........0...31..42....5.." ".......01...3....2...45.." "......0...315...2....4..." "012....345..............." ".......01...3...42...5..." "....0....1...32...4....5." "..0....15..32...4........" "........0...315.42......." "..........01....325....4." "01....32...4....5........" ".0...31....25....4......." ".........0...31...2...45." "......012...3....4....5.." "..012...3....4....5......" "..012543................." ".01...3...42....5........" ".01....325...4..........." ".......01.543...2........" "......01....325...4......" "..0...31....25...4......." "........0...315...2....4." "......0....1...325....4.." "............0..431....25." "............01.543...2..." "..0....15..32....4......." "............0...3154...2." "..0..431....25..........." ".0...31....2....45......." "..0....154...2....3......" ".0....15..32....4........" "........0....1....25..34." "............01.543..2...." "..0..431...2....5........" ".....01....3....42...5..." "..0....1....25..34......." "........0.5431...2......." "......0...3154..2........" "............0..4315...2.." "..........0....1543.2...." "..........01....32....45." ".0....1...325....4......." ".........0.5431...2......" ".......0..431...2....5..." ".......0....1...325...4.." "..0....15....24...3......" "...01..43..52............" "...0..4315...2..........." ".......0...3154...2......" "...0...315...2....4......" "..01...3....2...45......." "...0...31..42...5........" "........0....1...325..4.." "...........01....325..4.." "..0....154.32............" "........0.5431..2........" "........0....15..32...4.." "........01...3...42...5.." "............0..4315....2." "...........0....1543....2" "....0...31...2...45......" ".....01....3....4....52.." "...........0...3154..2..." "......0...31....2....45.." ".......0...315...2....4.." "0....1543..2............." ".0....1...32....45......." "..0....15....24....3....." "......0....154....23....." "........0...31...2...45.." "...........01....325....4" "........0....1...325....4" ".0...315....24..........." "..01.543..2.............." "..0...315....24.........." "............012543......." "......0...315....24......" ".....0....15....2....34.." "........0..431....25....." "......0...31....25....4.." "......01..43....2....5..." "...0...31....25....4....." ".0...315...2....4........" ".0....1....2...345......." "....0.5431....2.........." "............0...315....24" "............01..43..52..." ".01..43....2....5........" "........0...31..42...5..." ".............0.5431..2..." "....0..431.52............" ".......0....15....2....34" "..0...3154....2.........." ".............01.543....2." ".......0..4315.2........." "..0...3154.2............." ".......0....15....24....3" "........0....15..32....4." "..0....15...2...34......." "...01.543...2............" ".012...3....4....5......." "......01....3....42...5.." ".......01.543..2........." "..............0.5431...2." "...01..43....2....5......" ".....012....345.........." "...........0....1543...2." ".......012...3....4....5." "...0...31....25...4......" "...........01....32....45" ".........0.5431..2......." ".0....1543....2.........." "01....325...4............" "...........0...3154....2." ".0...3154..2............." ".....01....325..4........" "..0..4315.2.............." "..01..43..52............." ".....01....325....4......" ".01....325....4.........." "...0.5431....2..........." ".01....3....42...5......." "....0.5431...2..........." ".0....1...325..4........." "......0....15....24...3.." ".0....1543...2..........." "01....325....4..........." ".............0..431.52..." "............0...3154....2" ".........0.5431....2....." "....0.5431..2............" ".0....154.32............." "..........0....1543...2.." "......0....154.32........" "0....1543....2..........." ".01....325..4............" ".....01....32....45......" "01....325..4............." "......0....1...32....45.." "..0....1...325....4......" "......0....1543.2........" "........0..4315.2........" "...........0....1543..2.." ".......01....3....42...5." ".....0....154...2....3..." "......0...31....25...4..." ".............0.5431....2." ".............01.543..2..." "......0....1...325..4...." "...0..431....25.........." ".....0....1543.2........." ".....01....325...4......." "......0....15....24....3." "......0....1543....2....." "01....3....42....5......." ".0...3154.2.............." ".......01....3....42....5" ".......0...31...2...45..." "...0..4315.2............." ".....0....1543..2........" "..01....32...4....5......" ".0....15....24...3......." "..0...31..42....5........" "01....32....45..........." "......01...3...42....5..." ".........0..431.52......." "..........012....345....." "..0....15....2....34....." "...0....1...32...4....5.." "..........01....325...4.." "....0..431...2....5......" "........01.543....2......" ".............0..4315.2..." "............0..4315.2...." ".0....154...2....3......." ".......0...31..42....5..." ".01...3...42...5........." ".......0....1...32....45." "...........01....325...4." "...0..431.52............." "......0....1543..2......." ".......0...3154..2......." "..............0.5431..2.." "......01....32....45....." "........0..431.52........" ".....01....32...4....5..." "..01...3...42....5......." ".............0.5431.2...." "...0....15..32...4......." ".......0....1...325..4..." "...0.5431..2............." "..0...31..42...5........." "...0....1...32....45....." ".............0..4315...2." ".......0....1....25..34.." "...........0....154....23" ".....01....3....42....5.." ".0....15...2...34........" "...........0...3154.2...." ".........0...31..42....5." "........01...3...42....5." "..........0....154....23." ".....0....154....23......" "..0...31....25....4......" "........0..4315....2....." ".0....15....24....3......" ".......0..431....25......" "..0...31....2....45......" "......0....1543...2......" "..0...315.42............." "..01....3....42....5....." ".......012543............" "........0..4315..2......." "......0....15....2....34." "......01...3...42...5...." "0....15....24....3......." "..0....1....25....4....3." "......0....154...2....3.." "......0...3154.2........." "..0....1...325..4........" "........01.543...2......." "..01...3...42...5........" ".......01..43....2....5.." ".......0...31....2....45." ".01...3....2...45........" "............0...3154.2..." ".0....1...32...4....5...." "....0.5431.2............." "...0....1...325..4......." ".0...3154....2..........." "......01....3....42....5." "............0..4315..2..." "..........0....1543....2." "..0...31...2...45........" "..01.543...2............." "0....154....23..........." "......0...3154....2......" ".......0...31....25...4.." "...0....15...2...34......" "......01...3....2...45..." ".............01..43..52.." "......01....325....4....." ".....0....1543....2......" "........0.5431....2......" ".01....3....4....52......" "........01..43..52......." "...0...31...2...45......." ".......01....3....4....52" "..0..4315....2..........." "..0....1...32...4....5..." ".......01..43..52........" "...01.543..2............." "..01....3....4....52....." "........0..431...2....5.." ".0....15....2....34......" ".............0..4315....2" "..0..4315..2............." "0....1....25....4....3..." "...01...3...42...5......." ".....012...3....4....5..." "...0..4315....2.........." "...0...31....2....45....." "..0..4315...2............" ".....0....15....24...3..." "0....15....24...3........" "01....3....42...5........" ".0....1...325...4........" ".................012543.." "..........01....325..4..." "........0...31....25....4" "..01....3....42...5......" "...0....15..32....4......" "..0....1...32....45......" "......0....1....25..34..." ".............0...315.42.." "......01....32...4....5.." ".0....1....25....4....3.." "..01.543....2............" "...........0....1543.2..." "012...3....4....5........" ".......0....15...2...34.." ".01....32...4....5......." ".......0....15..32....4.." "...0....1....2...345....." ".......0...3154.2........" "0....154...2....3........" "..0...315...2....4......." ".0....1543.2............." ".......01....32...4....5." "..0...3154..2............" "........0...31....25...4." "......01....3....4....52." "........01..43....2....5." ".......0....1....2...345." ".........0..431...2....5." "........0...31....2....45" "..01..43....2....5......." "...0....1...325....4....." "...01.543....2..........." ".......0..4315....2......" "......0...3154...2......." "......0....1...325...4..." "............0...3154..2.." ".0...31....25...4........" "..........0....1543..2..." "...........0...3154...2.." ".......0...3154....2....." "...0.5431.2.............." ".......0..4315..2........" ".0....15..32...4........." "...........0....154.32..." "...........0...315....24." "........01...3....2...45." "...0....1...325...4......" ".......0...31....25....4." ".......01...3...42....5.." "......0....15..32....4..." "0....1543.2.............." "......0....15...2...34..." ".............01.543...2.." "01....3....4....52......." ".01....3....42....5......" ".01....32....45.........."; int rot_map[][4] = { {1, 3, 4, 5}, {5, 2, 3, 0}, {0, 1, 2, 4} }; void do_rot(int* r, std::vector<int>& k) { for (int j = 0; j < 3; ++j) std::swap(k[r[j]], k[r[j + 1]]); } bool matches(const char *a, const char *b) { for (int j = 0; j < 25; ++j) if ((a[j] == '.') != (b[j] == '.')) return false; return true; } int main() { int n; std::cin >> n; std::map<std::vector<int>, std::vector<int>> occ; std::vector<std::vector<int>> p; for (int i = 0; i < n; ++i) { char inp[25]; for (int j = 0; j < 25; ++j) std::cin >> inp[j]; std::vector<int> w(6); const char* k = data; for (; !matches(inp, k); k += 25); for (int j = 0; j < 25; ++j) if (k[j] != '.') w[k[j] - '0'] = inp[j] - '0'; if (w[1] == 1 || w[4] == 1) do_rot(rot_map[0], w); while (w[3] != 1) do_rot(rot_map[1], w); while (w[1] != (w[5] == 2 ? 3 : 2)) do_rot(rot_map[2], w); p.push_back(w); occ[w].push_back(i); } for (int i = 0; i < n; ++i) { if (occ[p[i]].size() == 1) { std::cout << "-\n"; } else { for (int j : occ[p[i]]) if (i != j) std::cout << j + 1 << " "; std::cout << "\n"; } } }
Test details
Test 1
Group: 1, 2
Verdict: ACCEPTED
input |
---|
3 165.. .4... .3... .2... ... |
correct output |
---|
3 - 1 |
user output |
---|
3 - 1 |
Test 2
Group: 1, 2
Verdict: ACCEPTED
input |
---|
5 264.. .5... .3... .1... ... |
correct output |
---|
3 4 5 1 2 5 2 4 |
user output |
---|
3 4 5 1 2 5 2 4 |
Test 3
Group: 1, 2
Verdict: ACCEPTED
input |
---|
5 152.. .4... .3... .6... ... |
correct output |
---|
3 5 4 1 5 2 1 3 |
user output |
---|
3 5 4 1 5 2 1 3 |
Test 4
Group: 1, 2
Verdict: ACCEPTED
input |
---|
5 142.. .6... .3... .5... ... |
correct output |
---|
4 5 3 2 1 5 1 4 |
user output |
---|
4 5 3 2 1 5 1 4 |
Test 5
Group: 1, 2
Verdict: ACCEPTED
input |
---|
5 123.. .4... .6... .5... ... |
correct output |
---|
3 4 5 1 2 5 2 4 |
user output |
---|
3 4 5 1 2 5 2 4 |
Test 6
Group: 1, 2
Verdict: ACCEPTED
input |
---|
5 213.. .6... .4... .5... ... |
correct output |
---|
4 5 3 2 1 5 1 4 |
user output |
---|
4 5 3 2 1 5 1 4 |
Test 7
Group: 1, 2
Verdict: ACCEPTED
input |
---|
5 314.. .5... .2... .6... ... |
correct output |
---|
3 4 5 1 2 5 2 4 |
user output |
---|
3 4 5 1 2 5 2 4 |
Test 8
Group: 1, 2
Verdict: ACCEPTED
input |
---|
5 163.. .2... .5... .4... ... |
correct output |
---|
4 5 3 2 1 5 1 4 |
user output |
---|
4 5 3 2 1 5 1 4 |
Test 9
Group: 1, 2
Verdict: ACCEPTED
input |
---|
5 264.. .1... .3... .5... ... |
correct output |
---|
2 3 1 3 1 2 5 4 |
user output |
---|
2 3 1 3 1 2 5 4 |
Test 10
Group: 1, 2
Verdict: ACCEPTED
input |
---|
5 214.. .3... .5... .6... ... |
correct output |
---|
5 3 4 2 4 2 3 1 |
user output |
---|
5 3 4 2 4 2 3 1 |
Test 11
Group: 2
Verdict: ACCEPTED
input |
---|
10 .41.. .5... .2... 36... ... |
correct output |
---|
9 4 6 8 7 10 2 6 8 - ... |
user output |
---|
9 4 6 8 7 10 2 6 8 - ... |
Test 12
Group: 2
Verdict: ACCEPTED
input |
---|
10 5.... 1436. .2... ..... ... |
correct output |
---|
5 8 6 10 4 7 9 3 7 9 1 8 ... |
user output |
---|
5 8 6 10 4 7 9 3 7 9 1 8 ... |
Test 13
Group: 2
Verdict: ACCEPTED
input |
---|
10 2.... 41... .63.. .5... ... |
correct output |
---|
4 9 10 5 6 7 8 - 1 9 10 2 6 7 8 ... |
user output |
---|
4 9 10 5 6 7 8 - 1 9 10 2 6 7 8 ... |
Test 14
Group: 2
Verdict: ACCEPTED
input |
---|
10 1.... 634.. ..52. ..... ... |
correct output |
---|
2 3 4 5 6 9 10 1 3 4 5 6 9 10 1 2 4 5 6 9 10 1 2 3 5 6 9 10 1 2 3 4 6 9 10 ... |
user output |
---|
2 3 4 5 6 9 10 1 3 4 5 6 9 10 1 2 4 5 6 9 10 1 2 3 5 6 9 10 1 2 3 4 6 9 10 ... Truncated |
Test 15
Group: 2
Verdict: ACCEPTED
input |
---|
10 .2... 4516. 3.... ..... ... |
correct output |
---|
5 7 9 10 8 4 6 3 6 1 7 9 10 ... |
user output |
---|
5 7 9 10 8 4 6 3 6 1 7 9 10 ... |
Test 16
Group: 2
Verdict: ACCEPTED
input |
---|
10 .56.. .2... .4... 31... ... |
correct output |
---|
4 9 3 5 10 2 5 10 1 9 2 3 10 ... |
user output |
---|
4 9 3 5 10 2 5 10 1 9 2 3 10 ... |
Test 17
Group: 2
Verdict: ACCEPTED
input |
---|
10 ..62. .31.. 45... ..... ... |
correct output |
---|
2 3 4 8 1 3 4 8 1 2 4 8 1 2 3 8 6 7 9 10 ... |
user output |
---|
2 3 4 8 1 3 4 8 1 2 4 8 1 2 3 8 6 7 9 10 ... Truncated |
Test 18
Group: 2
Verdict: ACCEPTED
input |
---|
10 532.. .4... .1... .6... ... |
correct output |
---|
3 8 9 5 6 1 8 9 7 10 2 6 ... |
user output |
---|
3 8 9 5 6 1 8 9 7 10 2 6 ... |
Test 19
Group: 2
Verdict: ACCEPTED
input |
---|
10 .64.. .1... .3... 52... ... |
correct output |
---|
2 5 6 7 8 9 1 5 6 7 8 9 4 10 3 10 1 2 6 7 8 9 ... |
user output |
---|
2 5 6 7 8 9 1 5 6 7 8 9 4 10 3 10 1 2 6 7 8 9 ... Truncated |
Test 20
Group: 2
Verdict: ACCEPTED
input |
---|
10 .4... 326.. .1... .5... ... |
correct output |
---|
4 7 8 6 9 10 5 1 7 8 3 ... |
user output |
---|
4 7 8 6 9 10 5 1 7 8 3 ... |
Test 21
Group: 2
Verdict: ACCEPTED
input |
---|
20 .6... .4... 31... .25.. ... |
correct output |
---|
3 7 11 16 6 1 7 11 16 5 19 4 19 ... |
user output |
---|
3 7 11 16 6 1 7 11 16 5 19 4 19 ... Truncated |
Test 22
Group: 2
Verdict: ACCEPTED
input |
---|
20 3.... 5614. ..2.. ..... ... |
correct output |
---|
7 10 11 17 20 12 4 9 13 15 18 3 9 13 15 18 8 14 16 ... |
user output |
---|
7 10 11 17 20 12 4 9 13 15 18 3 9 13 15 18 8 14 16 ... Truncated |
Test 23
Group: 2
Verdict: ACCEPTED
input |
---|
20 42... .316. .5... ..... ... |
correct output |
---|
5 12 13 15 18 16 20 6 8 14 9 19 1 12 13 15 18 ... |
user output |
---|
5 12 13 15 18 16 20 6 8 14 9 19 1 12 13 15 18 ... Truncated |
Test 24
Group: 2
Verdict: ACCEPTED
input |
---|
20 ..5.. .623. 41... ..... ... |
correct output |
---|
2 6 11 12 13 1 6 11 12 13 5 16 18 7 14 3 16 18 ... |
user output |
---|
2 6 11 12 13 1 6 11 12 13 5 16 18 7 14 3 16 18 ... Truncated |
Test 25
Group: 2
Verdict: ACCEPTED
input |
---|
20 .46.. 53... .1... .2... ... |
correct output |
---|
2 3 5 7 15 17 19 1 3 5 7 15 17 19 1 2 5 7 15 17 19 8 10 11 14 1 2 3 7 15 17 19 ... |
user output |
---|
2 3 5 7 15 17 19 1 3 5 7 15 17 19 1 2 5 7 15 17 19 8 10 11 14 1 2 3 7 15 17 19 ... Truncated |
Test 26
Group: 2
Verdict: ACCEPTED
input |
---|
20 .61.. .4... 35... .2... ... |
correct output |
---|
8 10 20 3 17 18 19 2 17 18 19 14 15 6 7 9 13 ... |
user output |
---|
8 10 20 3 17 18 19 2 17 18 19 14 15 6 7 9 13 ... Truncated |
Test 27
Group: 2
Verdict: ACCEPTED
input |
---|
20 ..2.. 1463. .5... ..... ... |
correct output |
---|
2 3 5 6 9 20 1 3 5 6 9 20 1 2 5 6 9 20 11 19 1 2 3 6 9 20 ... |
user output |
---|
2 3 5 6 9 20 1 3 5 6 9 20 1 2 5 6 9 20 11 19 1 2 3 6 9 20 ... Truncated |
Test 28
Group: 2
Verdict: ACCEPTED
input |
---|
20 ...4. 5132. 6.... ..... ... |
correct output |
---|
2 8 10 12 13 19 1 8 10 12 13 19 4 5 15 16 17 3 5 15 16 17 3 4 15 16 17 ... |
user output |
---|
2 8 10 12 13 19 1 8 10 12 13 19 4 5 15 16 17 3 5 15 16 17 3 4 15 16 17 ... Truncated |
Test 29
Group: 2
Verdict: ACCEPTED
input |
---|
20 .2... .31.. 45... 6.... ... |
correct output |
---|
5 8 9 14 17 3 10 16 2 10 16 13 15 19 1 8 9 14 17 ... |
user output |
---|
5 8 9 14 17 3 10 16 2 10 16 13 15 19 1 8 9 14 17 ... Truncated |
Test 30
Group: 2
Verdict: ACCEPTED
input |
---|
20 3.... 452.. .1... .6... ... |
correct output |
---|
3 7 8 9 14 15 16 19 4 12 13 17 1 7 8 9 14 15 16 19 2 12 13 17 11 20 ... |
user output |
---|
3 7 8 9 14 15 16 19 4 12 13 17 1 7 8 9 14 15 16 19 2 12 13 17 11 20 ... Truncated |
Test 31
Group: 1, 2
Verdict: ACCEPTED
input |
---|
2 546.. .3... .2... .1... ... |
correct output |
---|
- - |
user output |
---|
- - |