Submission #408052
Source Code Expand
#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
#include <stack>
#include <memory>
#include <map>
using namespace std;
class point{
public:
point(long long x, long long y){
this->x = x;
this->y = y;
}
point(){
this->x = 0;
this->y = 0;
}
long long x;
long long y;
point add(point& x){
return point(this->x + x.x, this->y + x.y);
}
point sub(point& x){
return point(this->x - x.x, this->y - x.y);
}
};
int main(){
long long K;
cin >> K;
map<long long, map<long long, map<char, point>>> mymap;
map<long long, map<long long, bool>> exist;
map<char, point> direction;
direction['L'] = point(-1, 0);
direction['R'] = point(1, 0);
direction['D'] = point(0, -1);
direction['U'] = point(0, 1);
point pre = point(0, 0);
for ( long long i = 0; i < K; i++ )
{
exist[pre.x][pre.y] = true;
char c;
cin >> c;
point now;
now = pre.add(mymap[pre.x][pre.y][c]).add(direction[c]);
{
point D = now.add(direction['D']);
point DD = ( exist[D.x][D.y] ? D.add(mymap[D.x][D.y]['D']) : now );
point U = now.add(direction['U']);
point UU = ( exist[U.x][U.y] ? U.add(mymap[U.x][U.y]['U']) : now );
mymap[DD.x][DD.y]['U'] = UU.sub(DD);
mymap[UU.x][UU.y]['D'] = DD.sub(UU);
}
{
point L = now.add(direction['L']);
point LL = ( exist[L.x][L.y] ? L.add(mymap[L.x][L.y]['L']) : now );
point R = now.add(direction['R']);
point RR = ( exist[R.x][R.y] ? R.add(mymap[R.x][R.y]['R']) : now );
mymap[LL.x][LL.y]['R'] = RR.sub(LL);
mymap[RR.x][RR.y]['L'] = LL.sub(RR);
}
pre = now;
}
cout << pre.x << " " << pre.y << endl;
return 0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | C - 幼稚園児高橋君 |
| User | toikage |
| Language | C++14 (Clang++ 3.4) |
| Score | 0 |
| Code Size | 1687 Byte |
| Status | WA |
| Exec Time | 1763 ms |
| Memory | 144544 KiB |
Judge Result
| Set Name | Sample | Subtask1 | ||||||
|---|---|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 0 / 100 | ||||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | subtask0_sample_01.txt, subtask0_sample_02.txt, subtask0_sample_03.txt |
| Subtask1 | subtask0_sample_01.txt, subtask0_sample_02.txt, subtask0_sample_03.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt, subtask1_21.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| subtask0_sample_01.txt | AC | 27 ms | 796 KiB |
| subtask0_sample_02.txt | AC | 27 ms | 800 KiB |
| subtask0_sample_03.txt | AC | 27 ms | 924 KiB |
| subtask1_01.txt | AC | 27 ms | 928 KiB |
| subtask1_02.txt | WA | 28 ms | 916 KiB |
| subtask1_03.txt | WA | 27 ms | 804 KiB |
| subtask1_04.txt | AC | 26 ms | 804 KiB |
| subtask1_05.txt | AC | 26 ms | 800 KiB |
| subtask1_06.txt | WA | 26 ms | 800 KiB |
| subtask1_07.txt | WA | 706 ms | 33828 KiB |
| subtask1_08.txt | WA | 726 ms | 33700 KiB |
| subtask1_09.txt | WA | 717 ms | 31256 KiB |
| subtask1_10.txt | WA | 713 ms | 39716 KiB |
| subtask1_11.txt | WA | 704 ms | 30616 KiB |
| subtask1_12.txt | WA | 711 ms | 35620 KiB |
| subtask1_13.txt | WA | 701 ms | 28196 KiB |
| subtask1_14.txt | AC | 1555 ms | 107040 KiB |
| subtask1_15.txt | AC | 1611 ms | 144544 KiB |
| subtask1_16.txt | AC | 1218 ms | 78880 KiB |
| subtask1_17.txt | AC | 1064 ms | 138280 KiB |
| subtask1_18.txt | AC | 1654 ms | 132004 KiB |
| subtask1_19.txt | AC | 1039 ms | 98208 KiB |
| subtask1_20.txt | AC | 961 ms | 96292 KiB |
| subtask1_21.txt | AC | 1763 ms | 75792 KiB |