Commit 68d7d4c 1 parent c6b4a7a commit 68d7d4c Copy full SHA for 68d7d4c
File tree 4 files changed +81
-0
lines changed
4 files changed +81
-0
lines changed Original file line number Diff line number Diff line change
1
+ import sys
2
+ from collections import deque
3
+ from typing import Deque
4
+
5
+
6
+ def solve ():
7
+ T = int (sys .stdin .readline ().strip ())
8
+
9
+ for _ in range (T ):
10
+ fs = sys .stdin .readline ().strip ()
11
+ _ = int (sys .stdin .readline ().strip ())
12
+ line = sys .stdin .readline ().strip ()
13
+ line = line [1 :- 1 ]
14
+ dts : Deque = deque (map (int , line .split (',' ))) if line != '' else deque ([])
15
+
16
+ error : bool = False
17
+ reverse : bool = False
18
+
19
+ for f in fs :
20
+ if f == 'R' :
21
+ reverse = not reverse
22
+ elif f == 'D' :
23
+ if len (dts ) > 0 :
24
+ if reverse :
25
+ dts .pop ()
26
+ else :
27
+ dts .popleft ()
28
+ elif len (dts ) == 0 :
29
+ error = True
30
+ break
31
+
32
+ if error :
33
+ print ('error' )
34
+ else :
35
+ if reverse :
36
+ dts .reverse ()
37
+ print ('[' + ',' .join (map (str , dts )) + ']' )
38
+
39
+
40
+ if __name__ == '__main__' :
41
+ solve ()
Original file line number Diff line number Diff line change
1
+ 4
2
+ RDD
3
+ 4
4
+ [1,2,3,4]
5
+ DD
6
+ 1
7
+ [42]
8
+ RRD
9
+ 6
10
+ [1,1,2,3,5,8]
11
+ D
12
+ 0
13
+ []
Original file line number Diff line number Diff line change
1
+ [2,1]
2
+ error
3
+ [1,2,3,5,8]
4
+ error
Original file line number Diff line number Diff line change
1
+ import sys
2
+ from pathlib import Path
3
+ from unittest import TestCase
4
+ from main import solve
5
+
6
+
7
+ class Test (TestCase ):
8
+ def my_solve (self , testcase_input ):
9
+ sys .stdin = open (testcase_input , 'r' )
10
+ stdout = sys .stdout
11
+ sys .stdout = open ('stdout.txt' , 'w' )
12
+ solve ()
13
+ sys .stdout .close ()
14
+ sys .stdout = stdout
15
+
16
+ def test_solve (self , testcase_number : str ):
17
+ self .my_solve ('test' + testcase_number + '.txt' )
18
+ self .assertEqual (
19
+ Path ('test' + testcase_number + '_answer.txt' ).read_text ().strip (),
20
+ Path ('stdout.txt' ).read_text ().strip ())
21
+
22
+ def test1_solve (self ):
23
+ self .test_solve ('1' )
You can’t perform that action at this time.
0 commit comments