https://www.acmicpc.net/problem/1080
๋ฌธ์
0๊ณผ 1๋ก๋ง ์ด๋ฃจ์ด์ง ํ๋ ฌ A์ ํ๋ ฌ B๊ฐ ์๋ค. ์ด๋, ํ๋ ฌ A๋ฅผ ํ๋ ฌ B๋ก ๋ฐ๊พธ๋๋ฐ ํ์ํ ์ฐ์ฐ์ ํ์์ ์ต์๊ฐ์ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
ํ๋ ฌ์ ๋ณํํ๋ ์ฐ์ฐ์ ์ด๋ค 3×3ํฌ๊ธฐ์ ๋ถ๋ถ ํ๋ ฌ์ ์๋ ๋ชจ๋ ์์๋ฅผ ๋ค์ง๋ ๊ฒ์ด๋ค. (0 → 1, 1 → 0)
์ ๋ ฅ
์ฒซ์งธ ์ค์ ํ๋ ฌ์ ํฌ๊ธฐ N M์ด ์ฃผ์ด์ง๋ค. N๊ณผ M์ 50๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค. ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์๋ ํ๋ ฌ A๊ฐ ์ฃผ์ด์ง๊ณ , ๊ทธ ๋ค์์ค๋ถํฐ N๊ฐ์ ์ค์๋ ํ๋ ฌ B๊ฐ ์ฃผ์ด์ง๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค์ ๋ฌธ์ ์ ์ ๋ต์ ์ถ๋ ฅํ๋ค. ๋ง์ฝ A๋ฅผ B๋ก ๋ฐ๊ฟ ์ ์๋ค๋ฉด -1์ ์ถ๋ ฅํ๋ค.
ํ์ด
[0][0] ~ [N-2][M-2] ๊น์ง ๋ ๊ฐ์ ํ๋ ฌ์ ๋น๊ตํ๋ฉด์ ๋ค๋ฅธ ๊ฐ์ด๋ฉด,
๐ 3x3 ํฌ๊ธฐ๋ก 1->0, 0->1 ๋ก ๋ฐ๊ฟ์ค๋ค.
๋ชจ๋ ์งํ ํ ํ, A, B๊ฐ ๋ค๋ฅธ ๊ฐ์ด ํ๋๋ผ๋ ์๋ค๋ฉด -1 ์ถ๋ ฅ
์ฝ๋
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main_BOJ_1080_ํ๋ ฌ {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer stringTokenizer = new StringTokenizer(br.readLine());
int N = Integer.parseInt(stringTokenizer.nextToken());
int M = Integer.parseInt(stringTokenizer.nextToken());
int answer = 0;
char[][] matrixA = new char[N][M];
char[][] matrixB = new char[N][M];
for(int i = 0 ; i < N ; i++){
String str = br.readLine();
matrixA[i] = str.toCharArray();
}
for(int i = 0 ; i < N ; i++){
String str = br.readLine();
matrixB[i] = str.toCharArray();
}
for(int i = 0 ; i < N-2 ; i++){
for(int j = 0 ; j < M-2 ; j++){
if(matrixA[i][j] == matrixB[i][j])
continue;
answer++;
for(int x = i; x < i+3; x++){
for(int y = j; y < j+3 ; y++){
matrixA[x][y] = matrixA[x][y] == '1' ? '0' : '1';
}
}
}
}
for(int i = 0 ; i < N ; i++){
for(int j = 0 ; j < M ; j++){
if(matrixA[i][j] != matrixB[i][j]){
System.out.println(-1);
return;
}
}
}
System.out.println(answer);
}
}
'์๊ณ ๋ฆฌ์ฆ > ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ ๋ฐฑ์ค / BOJ 20168 ] ๊ณจ๋ชฉ ๋์ฅ ํธ์ - ๊ธฐ๋ฅ์ฑ ( ์๋ฐ / JAVA ) (0) | 2021.10.19 |
---|---|
[ ๋ฐฑ์ค / BOJ 2374 ] ๊ฐ์ ์๋ก ๋ง๋ค๊ธฐ ( JAVA / ์๋ฐ ) (0) | 2021.10.11 |
[ ๋ฐฑ์ค / BOJ 20551 ] Sort ๋ง์คํฐ ๋ฐฐ์งํ์ ํ๊ณ์ ( JAVA / ์๋ฐ ) (0) | 2021.10.11 |
[ ๋ฐฑ์ค / BOJ 2573 ] ๋น์ฐ ( JAVA / ์๋ฐ ) (0) | 2021.10.07 |
[ ๋ฐฑ์ค / BOJ 2473 ] ์ธ ์ฉ์ก ( JAVA / ์๋ฐ ) (0) | 2021.10.07 |