π»
[λ°±μ€] λΆν μ 볡 - 1780. μ’ μ΄μ κ°μ λ³Έλ¬Έ
[λ°±μ€] λΆν μ 볡 - 1780. μ’ μ΄μ κ°μ
λν¨λ 2020. 10. 21. 17:00λ¬Έμ
N×Nν¬κΈ°μ νλ ¬λ‘ ννλλ μ’ μ΄κ° μλ€. μ’ μ΄μ κ° μΉΈμλ -1, 0, 1μ μΈ κ° μ€ νλκ° μ μ₯λμ΄ μλ€. μ°λ¦¬λ μ΄ νλ ¬μ μ μ ν ν¬κΈ°λ‘ μλ₯΄λ €κ³ νλλ°, μ΄λ λ€μμ κ·μΉμ λ°λΌ μλ₯΄λ €κ³ νλ€.
- λ§μ½ μ’ μ΄κ° λͺ¨λ κ°μ μλ‘ λμ΄ μλ€λ©΄ μ΄ μ’ μ΄λ₯Ό κ·Έλλ‘ μ¬μ©νλ€.
- (1)μ΄ μλ κ²½μ°μλ μ’ μ΄λ₯Ό κ°μ ν¬κΈ°μ 9κ°μ μ’ μ΄λ‘ μλ₯΄κ³ , κ°κ°μ μλ¦° μ’ μ΄μ λν΄μ (1)μ κ³Όμ μ λ°λ³΅νλ€.
μ΄μ κ°μ΄ μ’ μ΄λ₯Ό μλμ λ, -1λ‘λ§ μ±μμ§ μ’ μ΄μ κ°μ, 0μΌλ‘λ§ μ±μμ§ μ’ μ΄μ κ°μ, 1λ‘λ§ μ±μμ§ μ’ μ΄μ κ°μλ₯Ό ꡬν΄λ΄λ νλ‘κ·Έλ¨μ μμ±νμμ€.
μ λ ₯
첫째 μ€μ N(1≤N≤3^7, Nμ 3^k κΌ΄)μ΄ μ£Όμ΄μ§λ€. λ€μ Nκ°μ μ€μλ Nκ°μ μ μλ‘ νλ ¬μ΄ μ£Όμ΄μ§λ€.
μΆλ ₯
첫째 μ€μ -1λ‘λ§ μ±μμ§ μ’ μ΄μ κ°μλ₯Ό, λμ§Έ μ€μ 0μΌλ‘λ§ μ±μμ§ μ’ μ΄μ κ°μλ₯Ό, μ μ§Έ μ€μ 1λ‘λ§ μ±μμ§ μ’ μ΄μ κ°μλ₯Ό μΆλ ₯νλ€.
μμ μ λ ₯ 1
9
0 0 0 1 1 1 -1 -1 -1
0 0 0 1 1 1 -1 -1 -1
0 0 0 1 1 1 -1 -1 -1
1 1 1 0 0 0 0 0 0
1 1 1 0 0 0 0 0 0
1 1 1 0 0 0 0 0 0
0 1 -1 0 1 -1 0 1 -1
0 -1 1 0 1 -1 0 1 -1
0 1 -1 1 0 -1 0 1 -1
μμ μΆλ ₯ 1
10
12
11
λλμ
39 λΌμΈμ returnλ¬Έμ λ£μ§ μμμ νμ°Έμ ν€λ§Έλ€.
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
|
//1780. μ’
μ΄μ κ°μ
#include <iostream>
#include <vector>
using namespace std;
int n;
int map[2187][2187];
int minusone = 0, zero = 0, one = 0;
void cut(int x, int y, int size){
int value = map[x][y];
if(size==1){
if(value == -1) {
minusone ++;
return;
}else if(value == 0){
zero ++;
return;
}else {
one ++;
return;
}
}
bool check = true;
for(int i=x; i<x+size; i++){
for(int j=y; j<y+size; j++){
if(map[i][j]!=value){
check = false;
break;
}
}
}
if(check){
if(value == -1) minusone ++;
else if(value == 0) zero ++;
else one ++;
return;
}
for(int i=0; i<3; i++){
for(int j=0; j<3; j++){
cut(x+size*i/3, y+size*j/3, size/3);
}
}
}
int main(){
ios_base::sync_with_stdio(false);
cin.tie(0);
cin >> n;
for(int i=0; i<n; i++){
for(int j=0; j<n; j++){
cin >> map[i][j];
}
}
cut(0, 0, n);
cout << minusone << "\n" << zero << "\n" << one << "\n";
return 0;
}
|
cs |
'μκ³ λ¦¬μ¦ > λ¬Έμ νμ΄ Baekjoon' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[λ°±μ€] DFSBFS - 11725. νΈλ¦¬μ λΆλͺ¨ μ°ΎκΈ° (0) | 2020.11.13 |
---|---|
[λ°±μ€] μ°μ μμν - 1966. νλ¦°ν°ν (0) | 2020.11.12 |
[λ°±μ€] 그리λ - 1946. μ μ μ¬μ (0) | 2020.10.01 |
[λ°±μ€] DFSBFS - 7576. ν λ§ν (0) | 2020.09.29 |
[λ°±μ€][μΌμ± SWμλ ν μ€νΈ] 15683. κ°μ (0) | 2020.04.25 |