| Task: | Tenkici |
| Sender: | untokarila |
| Submission time: | 2019-07-28 21:58:54 +0300 |
| Language: | C++ (C++11) |
| Status: | READY |
| Result: | 100 |
| group | verdict | score |
|---|---|---|
| #1 | ACCEPTED | 100 |
| test | verdict | time | |
|---|---|---|---|
| #1 | ACCEPTED | 0.01 s | details |
| #2 | ACCEPTED | 0.01 s | details |
| #3 | ACCEPTED | 0.01 s | details |
| #4 | ACCEPTED | 0.01 s | details |
| #5 | ACCEPTED | 0.01 s | details |
| #6 | ACCEPTED | 0.01 s | details |
| #7 | ACCEPTED | 0.01 s | details |
| #8 | ACCEPTED | 0.01 s | details |
| #9 | ACCEPTED | 0.01 s | details |
| #10 | ACCEPTED | 0.01 s | details |
| #11 | ACCEPTED | 0.01 s | details |
| #12 | ACCEPTED | 0.01 s | details |
| #13 | ACCEPTED | 0.01 s | details |
| #14 | ACCEPTED | 0.01 s | details |
Compiler report
input/code.cpp: In function 'int main()':
input/code.cpp:50:9: warning: unused variable 's' [-Wunused-variable]
int s = 0;
^Code
#include <iostream>
#include <vector>
#include <algorithm>
#define pb push_back
#define F first
#define S second
using namespace std;
int n, fix[501], fiy[501], board[501][501], tank[501];
pair<int, int> x[501], y[501];
vector<pair<int, char> > ans;
void pushx(int i){
i = fix[i];
int m = fix[x[i].S]<x[i].F ? -1 : 1;
char c = fix[x[i].S]<x[i].F ? 'L' : 'R';
while(fix[x[i].S] != x[i].F){
if(board[tank[x[i].S]][x[i].F+m]) pushx(board[tank[x[i].S]][x[i].F+m]);
ans.push_back({x[i].S, c});
swap(board[tank[x[i].S]][x[i].F], board[tank[x[i].S]][x[i].F+m]);
x[i].F += m;
}
}
int main(){
cin >> n;
for(int i=1; i<=n; i++){
int a, b;
cin >> a >> b;
x[i] = {b, i};
y[i] = {a, i};
board[a][b] = i;
tank[i] = a;
}
sort(x+1, x+n+1);
sort(y+1, y+n+1);
for(int i=1; i<=n; i++){
fix[x[i].S] = i;
fiy[y[i].S] = i;
}
int s = 0;
for(int i=1; i<=n; i++){
pushx(x[i].S);
}
for(int i=1; i<=n; i++){
int m = fiy[y[i].S]<y[i].F ? -1 : 1;
char c = fiy[y[i].S]<y[i].F ? 'U' : 'D';
while(fiy[y[i].S] != y[i].F){
ans.push_back({y[i].S, c});
y[i].F += m;
}
}
cout << ans.size() << '\n';
for(auto i : ans) cout << i.F << ' ' << i.S << '\n';
return 0;
}
Test details
Test 1
Verdict: ACCEPTED
| input |
|---|
| 3
2 1 3 1 2 2 |
| correct output |
|---|
| 3
1 U 2 R 3 R |
| user output |
|---|
| 3 2 R 3 R 1 U |
Test 2
Verdict: ACCEPTED
| input |
|---|
| 4
3 2 3 1 4 1 4 2 |
| correct output |
|---|
| 8
2 U 2 U 3 U 1 U ... |
| user output |
|---|
| 8 4 R 4 R 3 R 1 R ... |
Test 3
Verdict: ACCEPTED
| input |
|---|
| 5
5 4 4 2 4 4 2 2 ... |
| correct output |
|---|
| 6
5 U 5 U 4 U 2 U ... |
| user output |
|---|
| 6 4 R 3 R 4 U 2 U ... |
Test 4
Verdict: ACCEPTED
| input |
|---|
| 6
5 1 5 6 1 4 6 6 ... |
| correct output |
|---|
| 7
1 U 1 U 6 U 3 D ... |
| user output |
|---|
| 7 6 R 2 L 5 D 1 U ... |
Test 5
Verdict: ACCEPTED
| input |
|---|
| 7
5 3 4 4 5 5 3 5 ... |
| correct output |
|---|
| 8
6 D 5 U 3 D 7 U ... |
| user output |
|---|
| 8 6 L 1 L 4 R 7 R ... |
Test 6
Verdict: ACCEPTED
| input |
|---|
| 8
8 7 2 2 8 8 2 1 ... |
| correct output |
|---|
| 16
4 D 2 D 2 D 5 D ... |
| user output |
|---|
| 16 5 R 5 R 7 R 2 R ... |
Test 7
Verdict: ACCEPTED
| input |
|---|
| 9
1 2 2 2 8 8 9 8 ... |
| correct output |
|---|
| 24
8 D 8 D 2 D 2 D ... |
| user output |
|---|
| 24 2 R 2 R 8 R 1 R ... Truncated |
Test 8
Verdict: ACCEPTED
| input |
|---|
| 10
4 2 5 3 7 1 3 2 ... |
| correct output |
|---|
| 36
4 U 4 U 1 U 1 U ... |
| user output |
|---|
| 36 4 R 6 R 6 R 9 R ... Truncated |
Test 9
Verdict: ACCEPTED
| input |
|---|
| 50
1 47 12 29 35 12 6 47 ... |
| correct output |
|---|
| 544
34 D 34 D 34 D 34 D ... |
| user output |
|---|
| 544 15 L 15 L 15 L 34 L ... Truncated |
Test 10
Verdict: ACCEPTED
| input |
|---|
| 100
53 50 31 76 46 54 94 37 ... |
| correct output |
|---|
| 1913
40 U 40 U 40 U 40 U ... |
| user output |
|---|
| 1913 40 L 40 L 94 L 8 L ... Truncated |
Test 11
Verdict: ACCEPTED
| input |
|---|
| 250
196 74 148 245 203 19 113 198 ... |
| correct output |
|---|
| 2370
185 D 185 D 185 D 185 D ... |
| user output |
|---|
| 2370 207 L 207 L 13 L 13 L ... Truncated |
Test 12
Verdict: ACCEPTED
| input |
|---|
| 350
185 170 222 294 183 181 159 171 ... |
| correct output |
|---|
| 25660
235 U 235 U 235 U 235 U ... |
| user output |
|---|
| 25660 107 L 107 L 107 L 107 L ... Truncated |
Test 13
Verdict: ACCEPTED
| input |
|---|
| 465
160 163 177 231 220 111 430 330 ... |
| correct output |
|---|
| 48963
400 U 400 U 400 U 400 U ... |
| user output |
|---|
| 48963 99 L 99 L 99 L 99 L ... Truncated |
Test 14
Verdict: ACCEPTED
| input |
|---|
| 500
428 393 30 377 76 52 21 218 ... |
| correct output |
|---|
| 10301
195 D 195 D 195 D 195 D ... |
| user output |
|---|
| 10301 195 L 73 L 73 L 125 L ... Truncated |
