Task: | Leimasin |
Sender: | sk3 |
Submission time: | 2018-10-14 15:42:24 +0300 |
Language: | C++ |
Status: | READY |
Result: | 0 |
group | verdict | score |
---|---|---|
#1 | WRONG ANSWER | 0 |
#2 | WRONG ANSWER | 0 |
#3 | WRONG ANSWER | 0 |
test | verdict | time | group | |
---|---|---|---|---|
#1 | ACCEPTED | 0.01 s | 1 | details |
#2 | ACCEPTED | 0.01 s | 1 | details |
#3 | ACCEPTED | 0.01 s | 1 | details |
#4 | ACCEPTED | 0.03 s | 1 | details |
#5 | ACCEPTED | 0.01 s | 1 | details |
#6 | ACCEPTED | 0.01 s | 1 | details |
#7 | ACCEPTED | 0.01 s | 1 | details |
#8 | ACCEPTED | 0.01 s | 1 | details |
#9 | ACCEPTED | 0.02 s | 1 | details |
#10 | ACCEPTED | 0.02 s | 1 | details |
#11 | WRONG ANSWER | 0.02 s | 1 | details |
#12 | ACCEPTED | 0.01 s | 1 | details |
#13 | ACCEPTED | 0.02 s | 1 | details |
#14 | ACCEPTED | 0.02 s | 1 | details |
#15 | ACCEPTED | 0.02 s | 2 | details |
#16 | ACCEPTED | 0.03 s | 2 | details |
#17 | ACCEPTED | 0.01 s | 2 | details |
#18 | ACCEPTED | 0.02 s | 2 | details |
#19 | ACCEPTED | 0.02 s | 2 | details |
#20 | ACCEPTED | 0.02 s | 2 | details |
#21 | ACCEPTED | 0.02 s | 2 | details |
#22 | ACCEPTED | 0.01 s | 2 | details |
#23 | ACCEPTED | 0.03 s | 2 | details |
#24 | ACCEPTED | 0.01 s | 2 | details |
#25 | WRONG ANSWER | 0.01 s | 2 | details |
#26 | ACCEPTED | 0.02 s | 2 | details |
#27 | ACCEPTED | 0.01 s | 2 | details |
#28 | ACCEPTED | 0.02 s | 2 | details |
#29 | WRONG ANSWER | 0.02 s | 3 | details |
#30 | WRONG ANSWER | 0.03 s | 3 | details |
#31 | WRONG ANSWER | 0.01 s | 3 | details |
#32 | WRONG ANSWER | 0.01 s | 3 | details |
#33 | ACCEPTED | 0.01 s | 3 | details |
#34 | WRONG ANSWER | 0.01 s | 3 | details |
#35 | WRONG ANSWER | 0.01 s | 3 | details |
#36 | WRONG ANSWER | 0.02 s | 3 | details |
#37 | WRONG ANSWER | 0.01 s | 3 | details |
#38 | ACCEPTED | 0.01 s | 3 | details |
#39 | ACCEPTED | 0.01 s | 3 | details |
#40 | ACCEPTED | 0.03 s | 3 | details |
#41 | WRONG ANSWER | 0.01 s | 3 | details |
#42 | ACCEPTED | 0.02 s | 3 | details |
Compiler report
input/code.cpp: In function 'int main()': input/code.cpp:157:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if ((kohdat.size()<=10*lenN) and impossible == 0){ ~~~~~~~~~~~~~^~~~~~~~~ input/code.cpp:42:6: warning: unused variable 'pointer' [-Wunused-variable] int pointer = 0; ^~~~~~~
Code
#include <iostream> #include <cmath> #include <string> #include <algorithm> #include <vector> #include <set> using namespace std; /* N = merkkijonon pituus M = leimasimen pituus k = leimauskerrat */ int main(){ char n[1000]; char m[1000]; char temp[1000]; char checkt[1000]; fill_n(n, 1000, '?'); fill_n(m, 1000, '?'); fill_n(temp, 1000, '?'); fill_n(checkt, 1000, 'N'); //INPUT //cout << "N:"; cin >> n; //cout << "M:"; cin >> m; cout <<"\n"; string nstring = n; string mstring = m; string listOfPos = " "; const int lenM = mstring.length(); // LENGTHS const int lenN = nstring.length(); int correct = 0; int done = 0; int pointer = 0; vector<int> kohdat; int correctindex=-1; int impossible = 0; //P-TESTS std::set<char> nset(begin(n), end(n)); std::set<char> mset(begin(m), end(m)); if (nset.size() != mset.size()){impossible=1;/*cout << "Impossible, charsNOTmatch\n";*/} if (lenM>lenN){impossible=1;/*cout << "Impossible, lengtherror\n";*/} // IF M>N; IMPOSSIBLE if (nstring.find(m) == string::npos) {impossible=1;/*cout<< "Impossible\n";*/} //TEST IF IS CONTAINED ATLEAST ONCE //cout << "\nLength of n: " << lenN<< endl; //cout << "Length of m: " << lenM<< endl; if (impossible == 0){ while (done==0){ int foundFull = 0; correctindex = -1; for(int index = 0; index <= lenN-lenM;index++){ ////////////////////////////// NORMAL TEST correct = 1; for (int pointer = 0; pointer < lenM;pointer++){ // TEST Actual (WITH WILDCARDS) //cout << " test n:" <<index<< " pointer:"<<pointer<<" n:"<<n[index+pointer]<<" m:"<<m[pointer]; if ((n[index+pointer] == m[pointer])){/*cout<<" match ";*/} else {correct = 0;} //cout << endl; } if (correct == 1){/*cout << "Match at index:"<<index+1 ;*/ kohdat.push_back(index+1); correctindex = index; //cout << " HC :" << correct; foundFull=1; break; } //cout << endl; } ////////////////////// NORMAL TEST if (foundFull != 1){ for(int index = 0; index <= lenN-lenM;index++){ ////////////////////////////// WILDCARD TEST correct = 1; int vahYksi = 0; for (int pointer = 0; pointer < lenM;pointer++){ // TEST Vähintään yksi != * if (n[index+pointer] != '*'){vahYksi=1;} } for (int pointer = 0; pointer < lenM;pointer++){ // TEST Actual (WITH WILDCARDS) //cout << " test n:" <<index<< " pointer:"<<pointer<<" n:"<<n[index+pointer]<<" m:"<<m[pointer]; if ((n[index+pointer] == m[pointer]) or ((n[index+pointer] == '*') and (vahYksi == 1))){/*cout<<" match ";*/} else {correct = 0;} //cout << endl; } if (correct == 1){/*cout << "Match at index:"<<index+1 ;*/ kohdat.push_back(index+1); correctindex = index; //cout << " HC :" << correct; break; } //cout << endl; } ////////////////////// WILDCARD TEST } //endfoundfull if (correctindex != -1){ for (int pointer = 0; pointer < lenM;pointer++){ n[correctindex+pointer] = '*'; } //cout << "N:"<<n<<endl; } else {done =1;} } } else {cout << "-1\n";} if (impossible ==0){cout << kohdat.size()<<endl;} if ((kohdat.size()<=10*lenN) and impossible == 0){ for(int win=kohdat.size()-1;win>-1;win--){ cout << kohdat[win]<<" "; } cout << endl; } return 0; }
Test details
Test 1
Group: 1
Verdict: ACCEPTED
input |
---|
BBBBBBBBBB B |
correct output |
---|
10 10 9 8 7 6 5 4 3 2 1 |
user output |
---|
10 10 9 8 7 6 5 4 3 2 1 |
Test 2
Group: 1
Verdict: ACCEPTED
input |
---|
AABBABABAB AB |
correct output |
---|
6 1 9 7 5 3 2 |
user output |
---|
6 3 1 9 7 5 2 |
Test 3
Group: 1
Verdict: ACCEPTED
input |
---|
AABAAABAAA AABAA |
correct output |
---|
4 6 5 2 1 |
user output |
---|
4 6 5 2 1 |
Test 4
Group: 1
Verdict: ACCEPTED
input |
---|
BAAAAAABBB BAAAAAABB |
correct output |
---|
2 2 1 |
user output |
---|
2 2 1 |
Test 5
Group: 1
Verdict: ACCEPTED
input |
---|
AAABBABBAA AAABBABBAA |
correct output |
---|
1 1 |
user output |
---|
1 1 |
Test 6
Group: 1
Verdict: ACCEPTED
input |
---|
GGGGGGGGGG G |
correct output |
---|
10 10 9 8 7 6 5 4 3 2 1 |
user output |
---|
10 10 9 8 7 6 5 4 3 2 1 |
Test 7
Group: 1
Verdict: ACCEPTED
input |
---|
QUUQUUQUQU QU |
correct output |
---|
6 9 7 5 4 2 1 |
user output |
---|
6 5 2 9 7 4 1 |
Test 8
Group: 1
Verdict: ACCEPTED
input |
---|
DWXDWDWXHJ DWXHJ |
correct output |
---|
3 1 4 6 |
user output |
---|
3 1 4 6 |
Test 9
Group: 1
Verdict: ACCEPTED
input |
---|
FSOCRDGQBB FSOCRDGQB |
correct output |
---|
2 2 1 |
user output |
---|
2 2 1 |
Test 10
Group: 1
Verdict: ACCEPTED
input |
---|
OETMIMPUPD OETMIMPUPD |
correct output |
---|
1 1 |
user output |
---|
1 1 |
Test 11
Group: 1
Verdict: WRONG ANSWER
input |
---|
DOWEUOWUEU DOWEU |
correct output |
---|
-1 |
user output |
---|
1 1 |
Test 12
Group: 1
Verdict: ACCEPTED
input |
---|
JQZYVSIWTE JQZVYSIWTE |
correct output |
---|
-1 |
user output |
---|
-1 |
Test 13
Group: 1
Verdict: ACCEPTED
input |
---|
ABABABABA ABA |
correct output |
---|
4 7 5 3 1 |
user output |
---|
4 7 3 5 1 |
Test 14
Group: 1
Verdict: ACCEPTED
input |
---|
AAAAAAAAAA AAAAAAAAAB |
correct output |
---|
-1 |
user output |
---|
-1 |
Test 15
Group: 2
Verdict: ACCEPTED
input |
---|
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB... |
correct output |
---|
100 100 99 98 97 96 95 94 93 92 91... |
user output |
---|
100 100 99 98 97 96 95 94 93 92 91... Truncated |
Test 16
Group: 2
Verdict: ACCEPTED
input |
---|
BABABAAAAAAAAAAAAAAAAAABABAAAA... |
correct output |
---|
36 87 43 24 1 91 79 69 68 67 66 6... |
user output |
---|
36 87 69 68 67 66 65 64 53 52 51 ... Truncated |
Test 17
Group: 2
Verdict: ACCEPTED
input |
---|
ABABAAAAABABBBBAAAABBBBAABBBBB... |
correct output |
---|
22 51 50 43 41 31 28 26 24 21 20 ... |
user output |
---|
22 51 50 43 41 31 28 26 24 21 20 ... |
Test 18
Group: 2
Verdict: ACCEPTED
input |
---|
AAABABAAAABBBBBABABBAABBABABBA... |
correct output |
---|
2 1 2 |
user output |
---|
2 1 2 |
Test 19
Group: 2
Verdict: ACCEPTED
input |
---|
AABABBBBBBAABBABABBBBBBAABBAAA... |
correct output |
---|
1 1 |
user output |
---|
1 1 |
Test 20
Group: 2
Verdict: ACCEPTED
input |
---|
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS... |
correct output |
---|
100 100 99 98 97 96 95 94 93 92 91... |
user output |
---|
100 100 99 98 97 96 95 94 93 92 91... Truncated |
Test 21
Group: 2
Verdict: ACCEPTED
input |
---|
NNNININIMNIMKLMXCNIMKLMXCDEIMK... |
correct output |
---|
18 1 2 3 74 5 79 58 7 84 64 37 10... |
user output |
---|
18 74 79 84 58 64 37 27 1 2 3 5 7... |
Test 22
Group: 2
Verdict: ACCEPTED
input |
---|
VYQFNHMVTKOEYCXWINLKLHVFMEPQEU... |
correct output |
---|
3 51 2 1 |
user output |
---|
2 51 1 |
Test 23
Group: 2
Verdict: ACCEPTED
input |
---|
IISNROLHLOJIWPTVFHFLUQRIROVLYP... |
correct output |
---|
2 1 2 |
user output |
---|
2 1 2 |
Test 24
Group: 2
Verdict: ACCEPTED
input |
---|
WPMEMERJXXADLKONUZPUUFTPSXDHIV... |
correct output |
---|
1 1 |
user output |
---|
1 1 |
Test 25
Group: 2
Verdict: WRONG ANSWER
input |
---|
LNSBGZAWFJZAWFJWFJLNSBLNSBGZAL... |
correct output |
---|
-1 |
user output |
---|
14 69 52 57 59 34 42 19 23 9 6 68... |
Test 26
Group: 2
Verdict: ACCEPTED
input |
---|
IPIPYFUMRIPYFUMRLPIIIPYFIPYFUM... |
correct output |
---|
-1 |
user output |
---|
-1 |
Test 27
Group: 2
Verdict: ACCEPTED
input |
---|
ABABABABABABABABABABABABABABAB... |
correct output |
---|
49 97 95 93 91 89 87 85 83 81 79 ... |
user output |
---|
49 95 91 87 83 79 75 71 67 63 59 ... Truncated |
Test 28
Group: 2
Verdict: ACCEPTED
input |
---|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA... |
correct output |
---|
-1 |
user output |
---|
-1 |
Test 29
Group: 3
Verdict: WRONG ANSWER
input |
---|
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB... |
correct output |
---|
1000 1000 999 998 997 996 995 994 9... |
user output |
---|
-1 |
Test 30
Group: 3
Verdict: WRONG ANSWER
input |
---|
BBBBBBBBAABBBBBBBBAABBBBBBBAAB... |
correct output |
---|
218 1 626 607 519 415 5 975 957 92... |
user output |
---|
-1 |
Test 31
Group: 3
Verdict: WRONG ANSWER
input |
---|
AABBBABAABABAAABBAAAAAAABBBAAB... |
correct output |
---|
55 569 639 403 761 663 437 172 90... |
user output |
---|
-1 |
Test 32
Group: 3
Verdict: WRONG ANSWER
input |
---|
ABBAAABAAABAAAAABBABABBABBABBB... |
correct output |
---|
2 2 1 |
user output |
---|
-1 |
Test 33
Group: 3
Verdict: ACCEPTED
input |
---|
BAAABBABBBAAAABAAAABBBBABAABAA... |
correct output |
---|
1 1 |
user output |
---|
1 1 |
Test 34
Group: 3
Verdict: WRONG ANSWER
input |
---|
UUUUUUUUUUUUUUUUUUUUUUUUUUUUUU... |
correct output |
---|
1000 1000 999 998 997 996 995 994 9... |
user output |
---|
-1 |
Test 35
Group: 3
Verdict: WRONG ANSWER
input |
---|
KSBMRKKSBMRZXBDKSKSBMRZXBDAMRZ... |
correct output |
---|
178 723 731 1 935 857 820 760 735 ... |
user output |
---|
-1 |
Test 36
Group: 3
Verdict: WRONG ANSWER
input |
---|
ILYLILYLVJILYLVJZCCQDLFRLSXZDM... |
correct output |
---|
21 671 54 747 504 113 1 856 764 5... |
user output |
---|
-1 |
Test 37
Group: 3
Verdict: WRONG ANSWER
input |
---|
ZZJZNKHDLJBPXIAZNJIIGBEEJFSDAF... |
correct output |
---|
2 1 2 |
user output |
---|
-1 |
Test 38
Group: 3
Verdict: ACCEPTED
input |
---|
FIMWTOLSRKOWYDPCOFUJZMXJEJFKSU... |
correct output |
---|
1 1 |
user output |
---|
1 1 |
Test 39
Group: 3
Verdict: ACCEPTED
input |
---|
AIVHCGUMKSTIYBRNPONXHRFVBKPYHX... |
correct output |
---|
-1 |
user output |
---|
-1 |
Test 40
Group: 3
Verdict: ACCEPTED
input |
---|
QPMSLIDCLFLBEXGVVQQNSVKJYXGETC... |
correct output |
---|
-1 |
user output |
---|
-1 |
Test 41
Group: 3
Verdict: WRONG ANSWER
input |
---|
ABABABABABABABABABABABABABABAB... |
correct output |
---|
499 997 995 993 991 989 987 985 98... |
user output |
---|
-1 |
Test 42
Group: 3
Verdict: ACCEPTED
input |
---|
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA... |
correct output |
---|
-1 |
user output |
---|
-1 |