#include <bits/stdc++.h>
int xdir[4] = {1,0,-1,0}; // ๋จ ๋ ๋ถ ์
int ydir[4] = {0,1,0,-1};
int cdir[5] = {4,2,4,4,1};
int m,n;
int field1[15][15];
int field2[15][15];
int mn;
vector<pair<int,int>> camera;
void update(int x,int y,int dir)
{
dir %= 4;
while(1)
{
int xcur = x+xdir[dir];
int ycur = y+ydir[dir];
if(xcur<0||ycur<0||xcur>=n||ycur>=m||field2[xcur][ycur]==6) return;
if(field2[xcur][ycur] != 0) continue;
field2[xcur][ycur] = 7;
}
}
int main(void)
{
ios::sync_with_stdio(0);
cin.tie(0);
cin >> n >> m;
int ans = 0;
int sum = 0;
for(int i = 0;i<n;i++)
{
for(int j = 0;j<m;j++)
{
cin >> field[i][j];
if(field1[i][j] != 0 && field1[i][j] != 6)
{
camera.push_back({i,j});
sum *= field[i][j] * (cdir[field[i][j]-1]);
}
if(field[i][j] == 0)
ans++;
}
}
for(int i =0;i<sum;i++)
{
for(int x = 0;x<n;x++)
{
for(int y = 0;y<m;y++)
{
field2[x][y] = field1[x][y];
}
}
int temp = i % 4;
for(int ca = 0;ca<camera.size();ca++)
{
int x = camera[ca].first;
int y = camera[ca].second;
if(field1[x][y] == 1)
{
update(x,y,temp);
}
else if(field1[x][y] == 2)
{
update(x,y,temp);
update(x,y,temp+2);
}
else if(field1[x][y] == 3)
{
update(x,y,temp);
update(x,y,temp+1);
}
else if(field1[x][y] == 4)
{
update(x,y,temp);
update(x,y,temp+1);
update(x,y,temp+2)
}
else if(field[x][y] == 5)
{
update(x,y,temp);
update(x,y,temp+1);
update(x,y,temp+2);
update(x,y,temp+3);
}
}
int val = 0;
for(int x = 0;x<n;x++)
{
for(int y = 0;y<m;y++)
{
if(field[x][y] == 0)
val++;
}
}
ans = min(val,ans);
}
cout << ans;
}
๊ตฌํํ์ง ๋ชปํ ๋ฌธ์ ์ด๋ค. ๋ฌด์์ด ๋ฌธ์ ์์๊น?
๋ด๊ฐ ๊ณ ๋ คํ ํ์ด์ ๋ํ ์๊ฐ๋ณต์ก๋๊ฐ ๋๋ฌด ์ปค ์คํจํ ๊น๋ด
์ด๋ค.1์ด
์ ๋๋ผ๋ฉด ์ฝ 5์ต
์ ์ฐ์ฐ์ด ๊ฐ๋ฅํ๋ฏ๋ก N์ ํฌ๊ธฐ
๋ฅผ ๊ณ ๋ คํ์ฌ ํด๊ฒฐ๋ฐฉ๋ฒ์ ๊ณ ์ํด๋ณด๋๋ก ํ์...ํ์
์ด๋ค. ํ์ ์ ์ด๋ป๊ฒ ๊ตฌํํด์ผ ํ๋์ง ๋๋ฌด ์ด๋ ค์ ๋ค. ๋ฐฉํฅ ๋ฐฐ์ด
์ ๋ํ ์ดํด๋ ์กฐ๊ธ ๋ถ์กฑํ๋ค. ๋์๋จ๋ถ
์ ์ด๋ฏธ ์ ์ํด๋๊ณ ์ด๋ป๊ฒ ํด์ผํ ์ง ํท๊ฐ๋ ธ๋ค.ํ์ ๊ตฌํ ๋ฐฉ๋ฒ : ๊ฐ ์นด๋ฉ๋ผ๋ ์ต๋ 4๊ฐ์ ๋ฐฉํฅ์ผ๋ก ํ์ ์ด ๊ฐ๋ฅํ๋ค. ๋ํ ํ์ ์ด ๊ฐ๋ฅํ ์ต๋ ๊ฐ์๊ฐ 1,2๊ฐ์ธ ์นด๋ฉ๋ผ๋ ์์ง๋ง ์ด์จ๋ ์ต๋ 4์k์น
๋งํผ ๊ฐ๋ฅํ๋ค. ๊ทธ๋ ๋ค๋ฉด ์ด ๊ฒฝ์ฐ์์ ์ด๋ป๊ฒ ์นด๋ฉ๋ผ๊ฐ ํ์ ํ๋ ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ๊ตฌํ ์ ์์๊น?
์ด๋ 4๋ก ๋๋๊ณ , 4๋ก ๋๋ ๋๋จธ์ง๋ฅผ ๊ตฌํ๊ณ ...
๋ฐฉ์์ผ๋ก ๊ตฌํ์ด ๊ฐ๋ฅํ๋ค. ์๋ฅผ ๋ค์ด 10์ง์ 3461์ 10์ผ๋ก ๋๋๊ณ , 10์ผ๋ก ๋๋ ๋๋จธ์ง๋ฅผ ๊ตฌํ๋ฉด 3,4,6,1 ์ด๋ผ๋ ์๊ฐ ๋์จ๋ค. ๋ง์ฐฌ๊ฐ์ง๋ก 4์ ๋ฐฐ์์ ๋ํด์๋ ์ด์๊ฐ์ ๊ณผ์ ์ ๋ฐ๋ณตํ๋ ๊ฒ์ด๋ค.
๋๋ฌด ์ด๋ ค์ด ๋ฌธ์ ๋ค.. ๊ทธ ๋งํผ ์ป์ด๊ฐ ๊ฒ๋ ๋ง๋ค..!