๐ป
[๋ฐฑ์ค] ์๋ฎฌ๋ ์ด์ - 14891. ํฑ๋๋ฐํด ๋ณธ๋ฌธ
[๋ฐฑ์ค] ์๋ฎฌ๋ ์ด์ - 14891. ํฑ๋๋ฐํด
๋ํจ๋ 2020. 3. 15. 13:28๋ฌธ์
์ด 8๊ฐ์ ํฑ๋๋ฅผ ๊ฐ์ง๊ณ ์๋ ํฑ๋๋ฐํด 4๊ฐ๊ฐ ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ์ผ๋ ฌ๋ก ๋์ฌ์ ธ ์๋ค. ๋, ํฑ๋๋ N๊ทน ๋๋ S๊ทน ์ค ํ๋๋ฅผ ๋ํ๋ด๊ณ ์๋ค. ํฑ๋๋ฐํด์๋ ๋ฒํธ๊ฐ ๋งค๊ฒจ์ ธ ์๋๋ฐ, ๊ฐ์ฅ ์ผ์ชฝ ํฑ๋๋ฐํด๊ฐ 1๋ฒ, ๊ทธ ์ค๋ฅธ์ชฝ์ 2๋ฒ, ๊ทธ ์ค๋ฅธ์ชฝ์ 3๋ฒ, ๊ฐ์ฅ ์ค๋ฅธ์ชฝ ํฑ๋๋ฐํด๋ 4๋ฒ์ด๋ค.
์ด๋, ํฑ๋๋ฐํด๋ฅผ ์ด K๋ฒ ํ์ ์ํค๋ ค๊ณ ํ๋ค. ํฑ๋๋ฐํด์ ํ์ ์ ํ ์นธ์ ๊ธฐ์ค์ผ๋ก ํ๋ค. ํ์ ์ ์๊ณ ๋ฐฉํฅ๊ณผ ๋ฐ์๊ณ ๋ฐฉํฅ์ด ์๊ณ , ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ํ์ ํ๋ค.
ํฑ๋๋ฐํด๋ฅผ ํ์ ์ํค๋ ค๋ฉด, ํ์ ์ํฌ ํฑ๋๋ฐํด์ ํ์ ์ํฌ ๋ฐฉํฅ์ ๊ฒฐ์ ํด์ผ ํ๋ค. ํฑ๋๋ฐํด๊ฐ ํ์ ํ ๋, ์๋ก ๋ง๋ฟ์ ๊ทน์ ๋ฐ๋ผ์ ์์ ์๋ ํฑ๋๋ฐํด๋ฅผ ํ์ ์ํฌ ์๋ ์๊ณ , ํ์ ์ํค์ง ์์ ์๋ ์๋ค. ํฑ๋๋ฐํด A๋ฅผ ํ์ ํ ๋, ๊ทธ ์์ ์๋ ํฑ๋๋ฐํด B์ ์๋ก ๋ง๋ฟ์ ํฑ๋์ ๊ทน์ด ๋ค๋ฅด๋ค๋ฉด, B๋ A๊ฐ ํ์ ํ ๋ฐฉํฅ๊ณผ ๋ฐ๋๋ฐฉํฅ์ผ๋ก ํ์ ํ๊ฒ ๋๋ค. ์๋ฅผ ๋ค์ด, ์๋์ ๊ฐ์ ๊ฒฝ์ฐ๋ฅผ ์ดํด๋ณด์.
๋ ํฑ๋๋ฐํด์ ๋ง๋ฟ์ ๋ถ๋ถ์ ์ด๋ก์ ์ ์ ์ผ๋ก ๋ฌถ์ฌ์๋ ๋ถ๋ถ์ด๋ค. ์ฌ๊ธฐ์, 3๋ฒ ํฑ๋๋ฐํด๋ฅผ ๋ฐ์๊ณ ๋ฐฉํฅ์ผ๋ก ํ์ ํ๋ค๋ฉด, 4๋ฒ ํฑ๋๋ฐํด๋ ์๊ณ ๋ฐฉํฅ์ผ๋ก ํ์ ํ๊ฒ ๋๋ค. 2๋ฒ ํฑ๋๋ฐํด๋ ๋ง๋ฟ์ ๋ถ๋ถ์ด S๊ทน์ผ๋ก ์๋ก ๊ฐ๊ธฐ ๋๋ฌธ์, ํ์ ํ์ง ์๊ฒ ๋๊ณ , 1๋ฒ ํฑ๋๋ฐํด๋ 2๋ฒ์ด ํ์ ํ์ง ์์๊ธฐ ๋๋ฌธ์, ํ์ ํ์ง ์๊ฒ ๋๋ค. ๋ฐ๋ผ์, ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ ๋ชจ์์ ๋ง๋ค๊ฒ ๋๋ค.
์์ ๊ฐ์ ์ํ์์ 1๋ฒ ํฑ๋๋ฐํด๋ฅผ ์๊ณ ๋ฐฉํฅ์ผ๋ก ํ์ ์ํค๋ฉด, 2๋ฒ ํฑ๋๋ฐํด๊ฐ ๋ฐ์๊ณ ๋ฐฉํฅ์ผ๋ก ํ์ ํ๊ฒ ๋๊ณ , 2๋ฒ์ด ํ์ ํ๊ธฐ ๋๋ฌธ์, 3๋ฒ๋ ๋์์ ์๊ณ ๋ฐฉํฅ์ผ๋ก ํ์ ํ๊ฒ ๋๋ค. 4๋ฒ์ 3๋ฒ์ด ํ์ ํ์ง๋ง, ๋ง๋ฟ์ ๊ทน์ด ๊ฐ๊ธฐ ๋๋ฌธ์ ํ์ ํ์ง ์๋๋ค. ๋ฐ๋ผ์, ์๋์ ๊ฐ์ ์ํ๊ฐ ๋๋ค.
ํฑ๋๋ฐํด์ ์ด๊ธฐ ์ํ์ ํฑ๋๋ฐํด๋ฅผ ํ์ ์ํจ ๋ฐฉ๋ฒ์ด ์ฃผ์ด์ก์ ๋, ์ต์ข ํฑ๋๋ฐํด์ ์ํ๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ 1๋ฒ ํฑ๋๋ฐํด์ ์ํ, ๋์งธ ์ค์ 2๋ฒ ํฑ๋๋ฐํด์ ์ํ, ์ ์งธ ์ค์ 3๋ฒ ํฑ๋๋ฐํด์ ์ํ, ๋ท์งธ ์ค์ 4๋ฒ ํฑ๋๋ฐํด์ ์ํ๊ฐ ์ฃผ์ด์ง๋ค. ์ํ๋ 8๊ฐ์ ์ ์๋ก ์ด๋ฃจ์ด์ ธ ์๊ณ , 12์๋ฐฉํฅ๋ถํฐ ์๊ณ๋ฐฉํฅ ์์๋๋ก ์ฃผ์ด์ง๋ค. N๊ทน์ 0, S๊ทน์ 1๋ก ๋ํ๋์๋ค.
๋ค์ฏ์งธ ์ค์๋ ํ์ ํ์ K(1 ≤ K ≤ 100)๊ฐ ์ฃผ์ด์ง๋ค. ๋ค์ K๊ฐ ์ค์๋ ํ์ ์ํจ ๋ฐฉ๋ฒ์ด ์์๋๋ก ์ฃผ์ด์ง๋ค. ๊ฐ ๋ฐฉ๋ฒ์ ๋ ๊ฐ์ ์ ์๋ก ์ด๋ฃจ์ด์ ธ ์๊ณ , ์ฒซ ๋ฒ์งธ ์ ์๋ ํ์ ์ํจ ํฑ๋๋ฐํด์ ๋ฒํธ, ๋ ๋ฒ์งธ ์ ์๋ ๋ฐฉํฅ์ด๋ค. ๋ฐฉํฅ์ด 1์ธ ๊ฒฝ์ฐ๋ ์๊ณ ๋ฐฉํฅ์ด๊ณ , -1์ธ ๊ฒฝ์ฐ๋ ๋ฐ์๊ณ ๋ฐฉํฅ์ด๋ค.
์ถ๋ ฅ
์ด K๋ฒ ํ์ ์ํจ ์ดํ์ ๋ค ํฑ๋๋ฐํด์ ์ ์์ ํฉ์ ์ถ๋ ฅํ๋ค. ์ ์๋ ๋ค์๊ณผ ๊ฐ์ด ๊ณ์ฐํ๋ค.
- 1๋ฒ ํฑ๋๋ฐํด์ 12์๋ฐฉํฅ์ด N๊ทน์ด๋ฉด 0์ , S๊ทน์ด๋ฉด 1์
- 2๋ฒ ํฑ๋๋ฐํด์ 12์๋ฐฉํฅ์ด N๊ทน์ด๋ฉด 0์ , S๊ทน์ด๋ฉด 2์
- 3๋ฒ ํฑ๋๋ฐํด์ 12์๋ฐฉํฅ์ด N๊ทน์ด๋ฉด 0์ , S๊ทน์ด๋ฉด 4์
- 4๋ฒ ํฑ๋๋ฐํด์ 12์๋ฐฉํฅ์ด N๊ทน์ด๋ฉด 0์ , S๊ทน์ด๋ฉด 8์
์์ ์ ๋ ฅ1
10101111
01111101
11001110
00000010
2
3 -1
1 1
์์ ์ถ๋ ฅ1
7
์์ ์ ๋ ฅ2
11111111
11111111
11111111
11111111
3
1 1
2 1
3 1
์์ ์ถ๋ ฅ2
15
์์ ์ ๋ ฅ3
10001011
10000011
01011011
00111101
5
1 1
2 1
3 1
4 1
1 -1
์์ ์ถ๋ ฅ3
6
์์ ์ ๋ ฅ4
10010011
01010011
11100011
01010101
8
1 1
2 1
3 1
4 1
1 -1
2 -1
3 -1
4 -1
์์ ์ถ๋ ฅ4
5
์๊ฐ
์์ 1๋ฒ์ ๊ฒฝ์ฐ๋ก ์๊ฐํด๋ณด์.
1. 3๋ฒ ํฑ๋๋ฐํด๋ฅผ ๋ฐ์๊ณ๋ฐฉํฅ(-1)์ผ๋ก ํ์ ํ๋ค.
์ด๋, 2๋ฒ์ 3๋ฒ์งธ ํฑ๋๋ S๊ทน(1)์ด๊ณ , 3๋ฒ์ 7๋ฒ์งธ ํฑ๋๋ S๊ทน(1)์ด๋ฏ๋ก 2๋ฒ ํฑ๋๋ ๋์ง ์๋๋ค.
๊ทธ๋ค์์ผ๋ก, 3๋ฒ์ 3๋ฒ์งธ ํฑ๋๋ N๊ทน(0)์ด๊ณ , 4๋ฒ์ 7๋ฒ์งธ ํฑ๋๋ S๊ทน(1)์ด๋ฏ๋ก 4๋ฒ ํฑ๋๋ ๋์๊ฐ๋ค.
3๋ฒ) 1 0 0 1 1 1 0 1 =>๋ฐ์๊ณ๋ฐฉํฅ(-1) ์ผ๋ก ํ์ ํ
4๋ฒ) 0 0 0 0 0 0 1 =>์๊ณ๋ฐฉํฅ(1)์ผ๋ก ํ์ ํ
2. 1๋ฒ ํฑ๋๋ฐํด๋ฅผ ์๊ณ๋ฐฉํฅ(1)์ผ๋ก ํ์ ํ๋ค.
์ด๋, 1๋ฒ์ 3๋ฒ์งธ ํฑ๋๋ S๊ทน(1)์ด๊ณ , 2๋ฒ์ 7๋ฒ์งธ ํฑ๋๋ N๊ทน(0)์ด๋ฏ๋ก ๋์๊ฐ๋ค.
๊ทธ๋ค์์ผ๋ก, 2๋ฒ์ 3๋ฒ์งธ ํฑ๋๋ S๊ทน(1)์ด๊ณ , 3๋ฒ์ 7๋ฒ์งธ ํฑ๋๋ N๊ทน(0)์ด๋ฏ๋ก ๋์๊ฐ๋ค.
๊ทธ๋ค์์ผ๋ก, 3๋ฒ์ 3๋ฒ์งธ ํฑ๋์ 4๋ฒ์ 7๋ฒ์งธ ํฑ๋๋ ๊ฐ์ ๊ทน์ด๋ฏ๋ก ์๋์๊ฐ๋ค.
1๋ฒ) 1 1 0 1 0 1 1 1
2๋ฒ) 1 1 1 1 1 0 1 0
3๋ฒ) 1 1 0 0 1 1 1 0
3. ์ต์ข ์ผ๋ก ๋ชจ๋ ํฑ๋๋ฐํด์ 1๋ฒ์งธ ํฑ๋์ S๊ทน ๊ฐ์๋ฅผ ์ผ๋ค.
1๋ฒ)1 1 0 1 0 1 1 1
2๋ฒ)1 1 1 1 1 0 1 0
3๋ฒ)1 1 0 0 1 1 1 0
4๋ฒ)0 0 0 0 0 0 0 1
1,2,3 => 1 + 2 + 4 = 7์
์ฒ์์ ๋ฌธ์ ๋ฅผ ๋ดค์ ๋ ๊ทธ๋ฆผ๊ณผ ๊ธ์ ์ซ์์๋ค.
์ด๋ป๊ฒ ์ฒ๋ฆฌํด์ผ๋ ์ง ๋ชจ๋ฅด๊ฒ ์ด์ ํฑ๋๊ฐ 4๊ฐ๋๊น ๊ทธ๋ฅ 4๊ฐ์ ํฑ๋ ๊ฐ๊ฐ์ ๊ฒฝ์ฐ๋ฅผ if๋ฌธ์ ์ด์ฉํด ์ฒ๋ฆฌํ๋ค.
* ๋ ๊ฐ์ง ์ค์๋ก ๋ต์ด ์๋์์ ๊ณ ์น๋ ๋ฐ ์ ๋ฅผ ๋จน์๋ค.
1. if(d[0]!=0) ์กฐ๊ฑด์ ๋ฃ์ด์ฃผ์ง ์์์ arr(ํฑ๋๋ฐํด๋ฐฐ์ด)์ temp์ ์ฐ๋ ๊ธฐ ๊ฐ์ด ๋ค์ด๊ฐ๋ค.
2. d(๋ฐฉํฅ๋ฐฐ์ด)์ ์ ์ญ๋ณ์๋ก ์จ์ ํ์ ์ ์ฌ๋ฌ๋ฒ ํด๋ฒ๋ ค์ ๋ฌธ์ ๊ฐ ์๊ฒผ์๋ค.
-> ( 0 0 -1 1, 1 -1 1 0 ) ์ด์ด์ผ ํ๋๋ฐ ( 0 0 -1 1, 1 -1 1 1) ํด์ 4๋ฒ์งธ ํฑ๋๋ฐํด๊ฐ 2๋ฒ ๋์๋ฒ๋ ธ์.
์์ฑํ ์ฝ๋
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
|
#include <iostream>
#include <cstdio>
#include <stdio.h>
#include <algorithm>
#include <vector>
#include <math.h>
using namespace std;
int k;
int arr[4][8];
void rotate(int n, int dir){
int temp[8];
if(dir == 1){ //์๊ณ๋ฐฉํฅ
for(int i=0; i<8; i++){
temp[(i+1)%8] = arr[n][i];
}
}else if(dir == -1){ //๋ฐ์๊ณ๋ฐฉํฅ
for(int i=0; i<8; i++){
temp[i] = arr[n][(i+1)%8];
}
}
for(int i=0; i<8; i++){
arr[n][i] = temp[i];
}
}
void solve(int n, int dir){ // n:ํฑ๋๋ฒํธ, dir:ํ์ ๋ฐฉํฅ
// ์ด๊ธฐํ
vector<int> d(4);
d[n-1] = dir;
if(n == 1){ // 0๋ฒ์งธ ํฑ๋
if(arr[0][2]^arr[1][6]){
d[1] = d[0]*(-1);
}
if(arr[1][2]^arr[2][6]){
d[2] = d[1]*(-1);
}
if(arr[2][2]^arr[3][6]){
d[3] = d[2]*(-1);
}
}
if(n == 2){ //1๋ฒ์งธ ํฑ๋
if(arr[1][2]^arr[2][6]){
d[2] = d[1]*(-1);
}
if(arr[0][2]^arr[1][6]){
d[0] = d[1]*(-1);
}
if(arr[2][2]^arr[3][6]){
d[3] = d[2]*(-1);
}
}
if(n == 3){ //2๋ฒ์ฌ ํฑ๋
if(arr[2][2]^arr[3][6]){
d[3] = d[2]*(-1);
}
if(arr[2][6]^arr[1][2]){
d[1] = d[2]*(-1);
}
if(arr[1][6]^arr[0][2]){
d[0] = d[1]*(-1);
}
}
if(n == 4){ //3๋ฒ์งธ ํฑ๋
if(arr[3][6]^arr[2][2]){
d[2] = d[3]*(-1);
}
if(arr[2][6]^arr[1][2]){
d[1] = d[2]*(-1);
}
if(arr[1][6]^arr[0][2]){
d[0] = d[1]*(-1);
}
}
// ๋ฐฉํฅ ์ฒดํฌ
// for(int i=0; i<4; i++){
// printf("%d" , d[i]);
// }
for(int i=0; i<4; i++){
if(d[i]!=0){
rotate(i, d[i]);
}
}
}
int main(int argc, const char * argv[]) {
// insert code here...
ios::sync_with_stdio(false);
cin.tie(NULL);
int ans = 0;
for(int i=0; i<4; i++){
for(int j=0; j<8; j++){
scanf("%1d", &arr[i][j]);
}
}
scanf("%d", &k);
for(int i=k; i>0; i--){
int n,m;
scanf("%d %d", &n, &m);
solve(n, m);
}
// ํ์ ํ ํฑ๋๋ฐํด ์ถ๋ ฅ
// for(int i=0; i<4; i++){
// for(int j=0; j<8; j++){
// printf("%d", arr[i][j]);
// }
// printf("\n");
// }
for(int i=0; i<4; i++){
if(arr[i][0] == 1){
ans += arr[i][0] * pow(2,i);
}
}
printf("%d" , ans);
return 0;
}
Colored by Color Scripter
|
'์๊ณ ๋ฆฌ์ฆ > ๋ฌธ์ ํ์ด Baekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] ์๋ฃ๊ตฌ์กฐ - ์ฒ ๋ฒฝ ๋ณด์ ์๊ณ ๋ฆฌ์ฆ (0) | 2020.03.18 |
---|---|
[๋ฐฑ์ค] ๋์ ํ๋ก๊ทธ๋๋ฐ - 1463. 1๋ก ๋ง๋ค๊ธฐ (0) | 2020.03.16 |
[๋ฐฑ์ค] ๊ทธ๋ฆฌ๋์๊ณ ๋ฆฌ์ฆ - 2217.๋กํ (0) | 2020.03.14 |
[๋ฐฑ์ค] ์๋ฎฌ๋ ์ด์ - 2164. ์นด๋2 (0) | 2020.03.13 |
[๋ฐฑ์ค] ๋ฐฑํธ๋ํน - 2210. ์ซ์ํ ์ ํ (0) | 2020.03.08 |