| Task: | Deranging Hat |
| Sender: | KnowYourArchitecture |
| Submission time: | 2017-10-31 18:26:33 +0200 |
| Language: | C++ |
| Status: | READY |
| Result: | ACCEPTED |
| test | verdict | time | |
|---|---|---|---|
| #1 | ACCEPTED | 0.03 s | details |
| #2 | ACCEPTED | 0.05 s | details |
| #3 | ACCEPTED | 0.04 s | details |
| #4 | ACCEPTED | 0.05 s | details |
| #5 | ACCEPTED | 0.05 s | details |
| #6 | ACCEPTED | 0.04 s | details |
| #7 | ACCEPTED | 0.05 s | details |
| #8 | ACCEPTED | 0.04 s | details |
| #9 | ACCEPTED | 0.03 s | details |
| #10 | ACCEPTED | 0.04 s | details |
| #11 | ACCEPTED | 0.04 s | details |
| #12 | ACCEPTED | 0.04 s | details |
| #13 | ACCEPTED | 0.05 s | details |
| #14 | ACCEPTED | 0.05 s | details |
| #15 | ACCEPTED | 0.04 s | details |
| #16 | ACCEPTED | 0.05 s | details |
| #17 | ACCEPTED | 0.05 s | details |
| #18 | ACCEPTED | 0.03 s | details |
| #19 | ACCEPTED | 0.06 s | details |
Code
#include <bits/stdc++.h>
using namespace std;
int main() {
string s;
cin >> s;
int n = s.length();
vector<pair<int,int>> st;
for(int i=0;i<n;i++) {
int m = s[i];
int mi = i;
for(int j=i+1;j<n;j++) {
if(m>s[j])m=s[j],mi=j;
}
if(mi==i)continue;
std::swap(s[i],s[mi]);
st.emplace_back(i,mi);
}
while(st.size()){
int a,b;
tie(a,b) = st.back();
st.pop_back();
cout<<b+1<<' '<<a+1<<'\n';
}
return 0;
}
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 ... |
