QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#837843#9521. Giving Directions in HarbinYinyuDreamAC ✓33ms13280kbPython31.5kb2024-12-30 14:59:202024-12-30 14:59:20

Judging History

你现在查看的是最新测评结果

  • [2024-12-30 14:59:20]
  • 评测
  • 测评结果:AC
  • 用时:33ms
  • 内存:13280kb
  • [2024-12-30 14:59:20]
  • 提交

answer

def main():
    import sys
    input = sys.stdin.read
    data = input().split()
    
    index = 0
    T = int(data[index])
    index += 1
    results = []
    
    direction_map = {'N':0, 'E':1, 'S':2, 'W':3}
    
    for _ in range(T):
        n = int(data[index])
        index += 1
        instructions = []
        for _ in range(n):
            d = data[index]
            x = int(data[index + 1])
            instructions.append((d, x))
            index += 2
        # Determine initial direction
        f = instructions[0][0]
        # Calculate m
        m = 2 * n - 1
        # Collect output lines
        output_lines = [f"{m} {f}"]
        current_dir = direction_map[f]
        # First instruction is Z x[0]
        output_lines.append(f"Z {instructions[0][1]}")
        for i in range(1, n):
            next_dir = direction_map[instructions[i][0]]
            # Determine turn
            if next_dir == (current_dir + 1) % 4:
                turn = "R"
            elif next_dir == (current_dir - 1 + 4) % 4:
                turn = "L"
            else:
                # This should not happen per problem statement
                turn = "R"  # default, though incorrect
            output_lines.append(turn)
            output_lines.append(f"Z {instructions[i][1]}")
            current_dir = next_dir
        # Add to results
        results.append('\n'.join(output_lines))
    
    print('\n\n'.join(results))

if __name__ == "__main__":
    main()

这程序好像有点Bug,我给组数据试试?

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 15ms
memory: 10612kb

input:

1
2
S 2
E 1

output:

3 S
Z 2
L
Z 1

result:

ok ok (1 test case)

Test #2:

score: 0
Accepted
time: 12ms
memory: 10604kb

input:

99
4
E 6
N 1
W 2
S 8
8
W 10
N 1
E 10
S 2
E 2
N 2
W 2
S 1
9
N 5
E 4
N 7
E 6
S 9
E 8
N 4
W 6
N 7
6
N 6
E 6
N 8
W 9
S 7
E 2
8
E 6
S 9
W 5
S 4
W 6
N 4
E 5
N 9
8
N 6
W 10
N 6
W 6
S 6
E 6
S 6
E 10
10
N 7
W 3
N 5
W 5
S 8
W 10
N 6
E 9
N 8
E 8
8
W 9
N 10
E 6
S 10
E 9
S 10
W 6
N 10
4
W 5
N 1
E 5
S 1
4
W 4
S 8...

output:

7 E
Z 6
L
Z 1
L
Z 2
L
Z 8

15 W
Z 10
R
Z 1
R
Z 10
R
Z 2
L
Z 2
L
Z 2
L
Z 2
L
Z 1

17 N
Z 5
R
Z 4
L
Z 7
R
Z 6
R
Z 9
L
Z 8
L
Z 4
L
Z 6
R
Z 7

11 N
Z 6
R
Z 6
L
Z 8
L
Z 9
L
Z 7
L
Z 2

15 E
Z 6
R
Z 9
R
Z 5
L
Z 4
R
Z 6
R
Z 4
R
Z 5
L
Z 9

15 N
Z 6
L
Z 10
R
Z 6
L
Z 6
L
Z 6
L
Z 6
R
Z 6
L
Z 10

19 N
Z 7
L
Z 3
...

result:

ok ok (99 test cases)

Test #3:

score: 0
Accepted
time: 33ms
memory: 13280kb

input:

10000
1
W 9
1
N 3
10
W 10
N 7
W 5
S 9
W 9
S 8
E 9
S 6
E 5
S 5
2
E 8
S 10
2
N 7
W 5
5
S 4
W 3
S 7
E 4
N 7
8
N 7
E 8
N 3
E 9
S 5
W 5
S 9
W 10
9
W 9
S 6
E 6
N 8
W 5
N 6
W 3
N 8
W 7
3
S 9
W 2
N 10
5
N 6
E 4
N 6
E 10
N 1
10
S 7
W 4
N 3
E 5
S 7
W 8
N 2
E 8
N 4
W 8
8
S 9
W 1
N 4
E 6
N 1
W 8
N 6
W 6
4
W 10
...

output:

1 W
Z 9

1 N
Z 3

19 W
Z 10
R
Z 7
L
Z 5
L
Z 9
R
Z 9
L
Z 8
L
Z 9
R
Z 6
L
Z 5
R
Z 5

3 E
Z 8
R
Z 10

3 N
Z 7
L
Z 5

9 S
Z 4
R
Z 3
L
Z 7
L
Z 4
L
Z 7

15 N
Z 7
R
Z 8
L
Z 3
R
Z 9
R
Z 5
R
Z 5
L
Z 9
R
Z 10

17 W
Z 9
L
Z 6
L
Z 6
L
Z 8
L
Z 5
R
Z 6
L
Z 3
R
Z 8
L
Z 7

5 S
Z 9
R
Z 2
R
Z 10

9 N
Z 6
R
Z 4
L
Z 6
...

result:

ok ok (10000 test cases)

Extra Test:

score: 0
Extra Test Passed