File tree 1 file changed +52
-0
lines changed
1 file changed +52
-0
lines changed Original file line number Diff line number Diff line change
1
+ import java .io .*;
2
+ import java .util .*;
3
+
4
+ public class Main {
5
+
6
+ public static int N ;
7
+
8
+ public static void main (String [] args ) throws IOException {
9
+ BufferedReader br = new BufferedReader (new InputStreamReader (System .in ));
10
+ N = Integer .parseInt (br .readLine ());
11
+ boolean [] arr = new boolean [N +1 ];
12
+ StringTokenizer st = new StringTokenizer (br .readLine ());
13
+ for (int i =1 ; i <=N ; i ++) {
14
+ arr [i ] = (Integer .parseInt (st .nextToken ()) == 1 );
15
+ }
16
+ int m = Integer .parseInt (br .readLine ());
17
+ for (int i =0 ; i <m ; i ++) {
18
+ st = new StringTokenizer (br .readLine ());
19
+ int student = Integer .parseInt (st .nextToken ());
20
+ int num = Integer .parseInt (st .nextToken ());
21
+ updateSwitch (arr , student , num );
22
+ }
23
+ StringBuffer sb = new StringBuffer ();
24
+ for (int i =1 ; i <=N ; i ++) {
25
+ sb .append (arr [i ] ? '1' : '0' );
26
+ if (i % 20 == 0 ) {
27
+ sb .append ('\n' );
28
+ }else {
29
+ sb .append (' ' );
30
+ }
31
+ }
32
+ System .out .println (sb );
33
+ }
34
+
35
+ public static void updateSwitch (boolean [] arr , int student , int num ) {
36
+ if (student == 1 ) {
37
+ for (int i =1 ; i <=N ; i ++) {
38
+ if (i % num == 0 ) {
39
+ arr [i ] = !arr [i ];
40
+ }
41
+ }
42
+ }else {
43
+ for (int i =0 ; (num -i >=1 ) && (num +i <= N ); i ++) {
44
+ if (arr [num -i ] == arr [num +i ]) {
45
+ arr [num -i ] = arr [num +i ] = !arr [num +i ];
46
+ }else {
47
+ return ;
48
+ }
49
+ }
50
+ }
51
+ }
52
+ }
You can’t perform that action at this time.
0 commit comments