Task: | Merkkijonot |
Sender: | Kurns |
Submission time: | 2019-10-01 22:38:43 +0300 |
Language: | C++ (C++11) |
Status: | READY |
Result: | 15 |
group | verdict | score |
---|---|---|
#1 | ACCEPTED | 15 |
#2 | TIME LIMIT EXCEEDED | 0 |
#3 | TIME LIMIT EXCEEDED | 0 |
test | verdict | time | group | |
---|---|---|---|---|
#1 | ACCEPTED | 0.01 s | 1, 2, 3 | details |
#2 | TIME LIMIT EXCEEDED | -- | 2, 3 | details |
#3 | TIME LIMIT EXCEEDED | -- | 3 | details |
#4 | TIME LIMIT EXCEEDED | -- | 3 | details |
#5 | TIME LIMIT EXCEEDED | -- | 3 | details |
#6 | ACCEPTED | 0.01 s | 1, 2, 3 | details |
#7 | ACCEPTED | 0.01 s | 1, 2, 3 | details |
#8 | ACCEPTED | 0.01 s | 1, 2, 3 | details |
#9 | ACCEPTED | 0.01 s | 1, 2, 3 | details |
#10 | TIME LIMIT EXCEEDED | -- | 2, 3 | details |
#11 | TIME LIMIT EXCEEDED | -- | 2, 3 | details |
#12 | TIME LIMIT EXCEEDED | -- | 2, 3 | details |
#13 | TIME LIMIT EXCEEDED | -- | 2, 3 | details |
#14 | TIME LIMIT EXCEEDED | -- | 2, 3 | details |
#15 | TIME LIMIT EXCEEDED | -- | 3 | details |
#16 | TIME LIMIT EXCEEDED | -- | 3 | details |
#17 | TIME LIMIT EXCEEDED | -- | 3 | details |
#18 | TIME LIMIT EXCEEDED | -- | 3 | details |
#19 | TIME LIMIT EXCEEDED | -- | 3 | details |
#20 | ACCEPTED | 0.01 s | 1, 2, 3 | details |
#21 | ACCEPTED | 0.01 s | 1, 2, 3 | details |
#22 | ACCEPTED | 0.01 s | 1, 2, 3 | details |
#23 | ACCEPTED | 0.01 s | 1, 2, 3 | details |
#24 | ACCEPTED | 0.01 s | 1, 2, 3 | details |
Compiler report
input/code.cpp: In function 'bool harmoninen(std::__cxx11::string, std::__cxx11::string)': input/code.cpp:42:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (int a = 0; a < s1.length(); a++) { ~~^~~~~~~~~~~~~ input/code.cpp:51:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (int i = 0; i < s1.length(); i++) { ~~^~~~~~~~~~~~~ input/code.cpp: In function 'int main()': input/code.cpp:85:14: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] while (alku < sanat.size() - 1) { //Looppaa listan ~~~~~^~~~~~~~~~~~~~~~~~ input/code.cpp:88:17: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] while (toinen < sanat.size()) { ~~~~~~~^~~~~~~~~~~~~~
Code
#include <iostream> #include <vector> #include <string> #include <map> #include <algorithm> using namespace std; vector<string> sanat; //Lista sanoista bool harmoninen(string s1, string s2) { //if (s1.length() != s2.length()) return false; string uusi = ""; map<char, char> vastaavat; //A->S, B->G eli ekan kirjain -> tokan vastaava map<char, bool> used; //Lista toisen sanan kaytetyista used['A'] = false; used['B'] = false; used['C'] = false; used['D'] = false; used['E'] = false; used['F'] = false; used['G'] = false; used['H'] = false; used['I'] = false; used['J'] = false; used['K'] = false; used['L'] = false; used['M'] = false; used['N'] = false; used['O'] = false; used['P'] = false; used['Q'] = false; used['R'] = false; used['S'] = false; used['T'] = false; used['U'] = false; used['V'] = false; used['W'] = false; used['X'] = false; used['Y'] = false; used['Z'] = false; for (int a = 0; a < s1.length(); a++) { if (vastaavat.count(s1[a]) > 0 && vastaavat[s1[a]] == s2[a]) continue; else if (used[s2[a]] == false) { vastaavat[s1[a]] = s2[a]; used[s2[a]] = true; } else return false; } for (int i = 0; i < s1.length(); i++) { uusi += vastaavat[s1[i]]; } if (uusi == s2) { return true; } else { return false; } } bool lengthSort(string eka, string toka) { return eka.length() < toka.length(); } int main() { int lkm; cin >> lkm; for (int i = 0; i < lkm; i++) { string ip; cin >> ip; sanat.push_back(ip); } sort(sanat.begin(), sanat.end(), lengthSort); //for (auto a : sanat) { //cout << a << endl; //} int tulos = 0; //Lopputulos int alku = 0; while (alku < sanat.size() - 1) { //Looppaa listan int foundHarmonic = 0; int toinen = alku + 1; while (toinen < sanat.size()) { //cout << "alku on " << alku << " ja toka " << toinen << endl; if (harmoninen(sanat[alku], sanat[toinen])) { foundHarmonic++; sanat.erase(sanat.begin() + toinen); } else { toinen++; } } tulos += ((foundHarmonic * foundHarmonic) + foundHarmonic) / 2; alku++; } cout << tulos; }
Test details
Test 1
Group: 1, 2, 3
Verdict: ACCEPTED
input |
---|
20 FFDISOVJLPIASANJRBHQXJVW HBGVRZFWOTAAVUPYKMKXAOBEYUE JKHXTPHUKTLTLNXMXMSYYFLF HCSZMXTZCUFHIHSTEWKHCFZRTXU ... |
correct output |
---|
20 |
user output |
---|
20 |
Test 2
Group: 2, 3
Verdict: TIME LIMIT EXCEEDED
input |
---|
5000 AJEDROEDXRGDUSDAPZBXXQBPJ PDGCTAGCRTBCJICPFELRRMLFD TISAOTGMDKUCITIEFQVCSBZJYUUO FMASVJYFPMELSVLQWFZVLVMSPHYL ... |
correct output |
---|
2178556 |
user output |
---|
(empty) |
Test 3
Group: 3
Verdict: TIME LIMIT EXCEEDED
input |
---|
100000 RESKYADLVRSDCDXJVECAJCAP CZLIWDHKVNRJHZINHFBOQEPN LSTRSDTLADUIWXFQJSQPVRSPBCTZ QEMSZOQSSVBRNQTCLJQIGVQO ... |
correct output |
---|
404880850 |
user output |
---|
(empty) |
Test 4
Group: 3
Verdict: TIME LIMIT EXCEEDED
input |
---|
100000 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA... |
correct output |
---|
4999950000 |
user output |
---|
(empty) |
Test 5
Group: 3
Verdict: TIME LIMIT EXCEEDED
input |
---|
100000 IPI Q SPGV UNYE ... |
correct output |
---|
1041990627 |
user output |
---|
(empty) |
Test 6
Group: 1, 2, 3
Verdict: ACCEPTED
input |
---|
20 A B C D ... |
correct output |
---|
190 |
user output |
---|
190 |
Test 7
Group: 1, 2, 3
Verdict: ACCEPTED
input |
---|
1 A |
correct output |
---|
0 |
user output |
---|
0 |
Test 8
Group: 1, 2, 3
Verdict: ACCEPTED
input |
---|
20 A BB CCC DDDD ... |
correct output |
---|
0 |
user output |
---|
0 |
Test 9
Group: 1, 2, 3
Verdict: ACCEPTED
input |
---|
2 A A |
correct output |
---|
1 |
user output |
---|
1 |
Test 10
Group: 2, 3
Verdict: TIME LIMIT EXCEEDED
input |
---|
5000 SEKNHNRHSRFYIHSCDPGXPTGUSYBFKZ... |
correct output |
---|
20861 |
user output |
---|
(empty) |
Test 11
Group: 2, 3
Verdict: TIME LIMIT EXCEEDED
input |
---|
5000 UGPWHWOWAREEIROZTRJGUCKDKTZJEO... |
correct output |
---|
22818 |
user output |
---|
(empty) |
Test 12
Group: 2, 3
Verdict: TIME LIMIT EXCEEDED
input |
---|
5000 FFQQCBCINBDWIKHFPO SCJU DNHYPGIQNZS KNQCYRAXHHKORXMOVHL ... |
correct output |
---|
22268 |
user output |
---|
(empty) |
Test 13
Group: 2, 3
Verdict: TIME LIMIT EXCEEDED
input |
---|
5000 QVWMSYPWXWBBXWCVEOUAVQLDWNBXZB... |
correct output |
---|
22589 |
user output |
---|
(empty) |
Test 14
Group: 2, 3
Verdict: TIME LIMIT EXCEEDED
input |
---|
5000 JYORMNQAKXHNRBWGGSMWXWXMBKPBZU... |
correct output |
---|
20482 |
user output |
---|
(empty) |
Test 15
Group: 3
Verdict: TIME LIMIT EXCEEDED
input |
---|
100000 DCXXVIEYQAASZJYUUVYZUIJFGVBAYC... |
correct output |
---|
8925377 |
user output |
---|
(empty) |
Test 16
Group: 3
Verdict: TIME LIMIT EXCEEDED
input |
---|
100000 IJZHBIYNWQBDWNGZWVXJKXXWFVLPQX... |
correct output |
---|
8907840 |
user output |
---|
(empty) |
Test 17
Group: 3
Verdict: TIME LIMIT EXCEEDED
input |
---|
100000 GWUGLGQDAYGGJROIAKBMMICQMDUQQQ... |
correct output |
---|
8771809 |
user output |
---|
(empty) |
Test 18
Group: 3
Verdict: TIME LIMIT EXCEEDED
input |
---|
100000 SWVSVXURRSLCSHCPAKWESIPCNDKYLD... |
correct output |
---|
8704480 |
user output |
---|
(empty) |
Test 19
Group: 3
Verdict: TIME LIMIT EXCEEDED
input |
---|
100000 ZLSNSZBGIMCOLPDEAKVDAJCTMBNRLH... |
correct output |
---|
8672362 |
user output |
---|
(empty) |
Test 20
Group: 1, 2, 3
Verdict: ACCEPTED
input |
---|
20 AAB D CDBAA D ... |
correct output |
---|
15 |
user output |
---|
15 |
Test 21
Group: 1, 2, 3
Verdict: ACCEPTED
input |
---|
20 A CDD AABBC DBCB ... |
correct output |
---|
15 |
user output |
---|
15 |
Test 22
Group: 1, 2, 3
Verdict: ACCEPTED
input |
---|
20 ACADD CDDCD DACA CCDCA ... |
correct output |
---|
17 |
user output |
---|
17 |
Test 23
Group: 1, 2, 3
Verdict: ACCEPTED
input |
---|
20 DCDA BDBA CACBD BA ... |
correct output |
---|
7 |
user output |
---|
7 |
Test 24
Group: 1, 2, 3
Verdict: ACCEPTED
input |
---|
20 DDA BBCDC DDD CCD ... |
correct output |
---|
14 |
user output |
---|
14 |