Submission #1108602


Source Code Expand

import std.stdio, std.array, std.string, std.conv, std.algorithm;
import std.typecons, std.range, std.random, std.math, std.container;
import std.numeric, std.bigint, core.bitop, core.stdc.stdio, std.bitmanip;

int[int][int] up;
int[int][int] down;
int[int][int] right;
int[int][int] left;

void main() {
    auto K = readln.chomp.to!int;
    auto S = readln.chomp;

    int x, y;
    up[0][0] = 1;
    down[0][0] = -1;
    right[0][0] = 1;
    left[0][0] = -1;

    foreach (i; 0..K) {
        int nx = x;
        int ny = y;
    
        if (S[i] == 'U')      ny = up[x][y];
        else if (S[i] == 'D') ny = down[x][y];
        else if (S[i] == 'R') nx = right[x][y];
        else if (S[i] == 'L') nx = left[x][y];
        else assert(true);

        int u = ny + 1;
        int d = ny - 1;
        int r = nx + 1;
        int l = nx - 1;
        int nu = (nx in up && u in up[nx])      ? up[nx][u]    : ny + 1;
        int nd = (nx in up && d in down[nx])    ? down[nx][d]  : ny - 1;
        int nr = (r in right && ny in right[r]) ? right[r][ny] : nx + 1;
        int nl = (l in left && ny in left[l])   ? left[l][ny]  : nx - 1;

        up[nx][nd+1] = nu;
        down[nx][nu-1] = nd;
        right[nl+1][ny] = nr;
        left[nr-1][ny] = nl;

        up[nx][ny] = nu;
        down[nx][ny] = nd;
        right[nx][ny] = nr;
        left[nx][ny] = nl;
        
        x = nx;
        y = ny;
    }

    writeln(x, " ", y);
}

Submission Info

Submission Time
Task C - 幼稚園児高橋君
User nebukuro09
Language D (DMD 2.066.1)
Score 100
Code Size 1487 Byte
Status AC
Exec Time 1645 ms
Memory 160544 KB

Judge Result

Set Name Sample Subtask1
Score / Max Score 0 / 0 100 / 100
Status
AC × 3
AC × 24
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 20 ms 924 KB
subtask0_sample_02.txt AC 16 ms 800 KB
subtask0_sample_03.txt AC 16 ms 796 KB
subtask1_01.txt AC 16 ms 800 KB
subtask1_02.txt AC 16 ms 800 KB
subtask1_03.txt AC 18 ms 800 KB
subtask1_04.txt AC 16 ms 792 KB
subtask1_05.txt AC 16 ms 924 KB
subtask1_06.txt AC 16 ms 840 KB
subtask1_07.txt AC 573 ms 62368 KB
subtask1_08.txt AC 592 ms 62744 KB
subtask1_09.txt AC 509 ms 64112 KB
subtask1_10.txt AC 511 ms 65180 KB
subtask1_11.txt AC 596 ms 64288 KB
subtask1_12.txt AC 502 ms 61936 KB
subtask1_13.txt AC 509 ms 62360 KB
subtask1_14.txt AC 362 ms 56604 KB
subtask1_15.txt AC 1555 ms 160536 KB
subtask1_16.txt AC 667 ms 82548 KB
subtask1_17.txt AC 1639 ms 160544 KB
subtask1_18.txt AC 1645 ms 160544 KB
subtask1_19.txt AC 899 ms 113648 KB
subtask1_20.txt AC 907 ms 111056 KB
subtask1_21.txt AC 407 ms 59676 KB