Task: | Deranging Hat |
Sender: | Hannes Ihalainen |
Submission time: | 2017-10-31 18:16:20 +0200 |
Language: | C++ |
Status: | READY |
Result: | ACCEPTED |
test | verdict | time | |
---|---|---|---|
#1 | ACCEPTED | 0.05 s | details |
#2 | ACCEPTED | 0.04 s | details |
#3 | ACCEPTED | 0.03 s | details |
#4 | ACCEPTED | 0.04 s | details |
#5 | ACCEPTED | 0.04 s | details |
#6 | ACCEPTED | 0.03 s | details |
#7 | ACCEPTED | 0.03 s | details |
#8 | ACCEPTED | 0.05 s | details |
#9 | ACCEPTED | 0.04 s | details |
#10 | ACCEPTED | 0.05 s | details |
#11 | ACCEPTED | 0.03 s | details |
#12 | ACCEPTED | 0.05 s | details |
#13 | ACCEPTED | 0.04 s | details |
#14 | ACCEPTED | 0.04 s | details |
#15 | ACCEPTED | 0.05 s | details |
#16 | ACCEPTED | 0.04 s | details |
#17 | ACCEPTED | 0.04 s | details |
#18 | ACCEPTED | 0.05 s | details |
#19 | ACCEPTED | 0.04 s | details |
Compiler report
input/code.cpp: In function 'int main()': input/code.cpp:16:26: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (int i=0; i<s.size(); ++i){ ^
Code
#include <iostream> #include <algorithm> #include <vector> #define F first #define S second #define MP make_pair using namespace std; string s; vector<pair<int, int> > ans; int main(){ cin >> s; string so=s; sort(so.begin(), so.end()); for (int i=0; i<s.size(); ++i){ if (s[i]!=so[i]){ int j=i+1; while (s[j]!=so[i]) ++j; swap(s[i], s[j]); ans.push_back(MP(j+1, i+1)); } } for (int i=ans.size()-1; i>=0; --i){ cout << ans[i].F << " " << ans[i].S << "\n"; } }
Test details
Test 1
Verdict: ACCEPTED
input |
---|
flimflam |
correct output |
---|
2 1 5 2 3 5 4 3 7 4 |
user output |
---|
7 4 7 3 5 2 7 1 |
Test 2
Verdict: ACCEPTED
input |
---|
ofthunderandlightningheardaste... |
correct output |
---|
661 1 113 661 113 75 235 75 296 235 ... |
user output |
---|
986 971 1000 970 996 969 995 968 994 967 ... |
Test 3
Verdict: ACCEPTED
input |
---|
zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz... |
correct output |
---|
160 1 |
user output |
---|
160 1 |
Test 4
Verdict: ACCEPTED
input |
---|
azaaaaaaaaaaaaaaaaaaaaaaaaaaaa... |
correct output |
---|
1000 2 |
user output |
---|
1000 999 999 998 998 997 997 996 996 995 ... |
Test 5
Verdict: ACCEPTED
input |
---|
cheeeeeeeeeeeeeeeeeeeeeeeeeeee... |
correct output |
---|
999 2 1000 999 1000 501 |
user output |
---|
1000 999 1000 998 998 997 997 996 996 995 ... |
Test 6
Verdict: ACCEPTED
input |
---|
zyxwvutsrqponmlkjihgfedcba |
correct output |
---|
26 1 25 2 24 3 23 4 22 5 ... |
user output |
---|
14 13 15 12 16 11 17 10 18 9 ... |
Test 7
Verdict: ACCEPTED
input |
---|
abcdefghijklmnopqrstuvwxyz |
correct output |
---|
(empty) |
user output |
---|
(empty) |
Test 8
Verdict: ACCEPTED
input |
---|
ykvhyyocxoctrecxiseq |
correct output |
---|
20 1 11 20 11 2 8 2 8 3 ... |
user output |
---|
18 14 18 13 13 12 20 11 17 10 ... |
Test 9
Verdict: ACCEPTED
input |
---|
fryivkaqqnaffnaulwzih |
correct output |
---|
4 1 8 4 14 8 13 14 5 13 ... |
user output |
---|
21 20 20 19 20 18 17 16 21 15 ... |
Test 10
Verdict: ACCEPTED
input |
---|
usiotfcnylrezqybqkxafquwhsqzrd... |
correct output |
---|
103 1 95 103 120 95 100 120 125 100 ... |
user output |
---|
130 125 129 124 128 123 126 122 125 121 ... |
Test 11
Verdict: ACCEPTED
input |
---|
qnlgwypzdyzbluuklmgirwkcrkpzbg... |
correct output |
---|
82 1 80 82 38 80 37 38 85 37 ... |
user output |
---|
134 131 133 130 132 129 129 128 128 127 ... |
Test 12
Verdict: ACCEPTED
input |
---|
rgnuzalrwqepwprfwpluntelwdjtzf... |
correct output |
---|
170 1 116 170 79 116 93 79 155 93 ... |
user output |
---|
256 249 253 248 252 247 250 246 249 245 ... |
Test 13
Verdict: ACCEPTED
input |
---|
sdgfzxytizorpedmiiciipwybyless... |
correct output |
---|
191 1 17 191 92 17 244 92 42 244 ... |
user output |
---|
254 246 253 245 251 244 250 243 248 242 ... |
Test 14
Verdict: ACCEPTED
input |
---|
yjbtyzkxhxgdcdayckrjojgxxskcfr... |
correct output |
---|
234 1 170 234 23 170 74 23 236 74 ... |
user output |
---|
257 242 255 241 253 240 249 239 247 238 ... |
Test 15
Verdict: ACCEPTED
input |
---|
zlptxwhrxhmqmdtmxodntqxjsfeuqo... |
correct output |
---|
478 1 378 478 444 378 309 444 23 309 ... |
user output |
---|
490 473 482 472 481 471 480 470 478 469 ... |
Test 16
Verdict: ACCEPTED
input |
---|
xtgjxqjyngjnrchesofkxhoeqfytej... |
correct output |
---|
890 1 66 890 347 66 322 347 350 322 ... |
user output |
---|
999 964 998 963 997 962 996 961 993 960 ... |
Test 17
Verdict: ACCEPTED
input |
---|
yrgvguilduwtvehgkwmgwhcuzeudum... |
correct output |
---|
732 1 375 732 124 375 607 124 144 607 ... |
user output |
---|
777 749 774 748 771 747 765 746 764 745 ... |
Test 18
Verdict: ACCEPTED
input |
---|
sbexapmynutjwvztgjblkiulcklegx... |
correct output |
---|
353 1 481 353 62 481 349 62 221 349 ... |
user output |
---|
528 503 527 502 526 501 525 500 524 499 ... |
Test 19
Verdict: ACCEPTED
input |
---|
tsovgecdemwidbcbyrtajkbouiwhhe... |
correct output |
---|
631 1 516 631 308 516 554 308 508 554 ... |
user output |
---|
815 782 812 781 809 780 806 779 805 778 ... |