CSES - UKIEPC 2017 - Results
Submission details
Task:Deranging Hat
Sender:KnowYourArchitecture
Submission time:2017-10-31 18:26:33 +0200
Language:C++
Status:READY
Result:ACCEPTED
Test results
testverdicttime
#1ACCEPTED0.03 sdetails
#2ACCEPTED0.05 sdetails
#3ACCEPTED0.04 sdetails
#4ACCEPTED0.05 sdetails
#5ACCEPTED0.05 sdetails
#6ACCEPTED0.04 sdetails
#7ACCEPTED0.05 sdetails
#8ACCEPTED0.04 sdetails
#9ACCEPTED0.03 sdetails
#10ACCEPTED0.04 sdetails
#11ACCEPTED0.04 sdetails
#12ACCEPTED0.04 sdetails
#13ACCEPTED0.05 sdetails
#14ACCEPTED0.05 sdetails
#15ACCEPTED0.04 sdetails
#16ACCEPTED0.05 sdetails
#17ACCEPTED0.05 sdetails
#18ACCEPTED0.03 sdetails
#19ACCEPTED0.06 sdetails

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
...