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
AC × 3
AC × 14
WA × 10
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