문제 출처 : https://www.acmicpc.net/problem/21665
언어 : Kotlin
문제 설명 :
Миша уже научился хорошо фотографировать и недавно увлекся программированием. Первая программа, которую он написал, позволяет формировать негатив бинарного черно-белого изображения.
Бинарное черно-белое изображение – это прямоугольник, состоящий из пикселей, каждый из которых может быть либо черным, либо белым. Негатив такого изображения получается путем замены каждого черного пикселя на белый, а каждого белого пикселя – на черный.
Миша, как начинающий программист, написал свою программу с ошибкой, поэтому в результате ее исполнения мог получаться некорректный негатив. Для того чтобы оценить уровень несоответствия получаемого негатива изображению, Миша начал тестировать свою программу.
В качестве входных данных он использовал исходные изображения. Сформированные программой негативы он начал тщательно анализировать, каждый раз определяя число пикселей негатива, которые получены с ошибкой.
Требуется написать программу, которая в качестве входных данных использует исходное бинарное черно-белое изображение и полученный Мишиной программой негатив, и на основе этого определяет количество пикселей, в которых допущена ошибка.
입력 :
Первая строка входного файла содержит целые числа n и m (1 ≤ n, m ≤ 100) – высоту и ширину исходного изображения (в пикселях).
Следующие n строк содержат описание исходного изображения. Каждая строка состоит из m символов «B» и «W». Символ «B» соответствует черному пикселю, а символ «W» – белому.
Далее следует пустая строка, а после нее – описание изображения, выведенного Мишиной программой в том же формате, что и исходное изображение.
출력 :
В выходной файл необходимо вывести число пикселей негатива, которые неправильно сформированы Мишиной программой.
제한 사항 :
- 시간 제한 : 2초
- 메모리 제한 : 512MB
입출력 예 :
입력 | 출력 |
3 4 WBBW BBBB WBBW BWWW WWWB BWWB |
2 |
2 2 BW BB WW BW |
2 |
풀이 :
import java.io.BufferedReader
import java.io.BufferedWriter
import java.io.InputStreamReader
import java.io.OutputStreamWriter
fun main() = with(BufferedReader(InputStreamReader(System.`in`))) {
val bw = BufferedWriter(OutputStreamWriter(System.out))
val (r,c) = readLine().split(" ").map { it.toInt() }
val original = Array(r) { readLine() }
readLine()
val program = Array(r) { readLine() }
var cnt = 0
original.forEachIndexed { i, s ->
s.forEachIndexed { j, c ->
if (c == program[i][j]) cnt++
}
}
bw.write("$cnt")
bw.flush()
bw.close()
}
'백준 > 문제' 카테고리의 다른 글
末尾の文字 (Last Letter) (0) | 2024.06.20 |
---|---|
7575번: 바이러스 (0) | 2024.06.14 |
2697번: 다음수 구하기 (0) | 2024.06.14 |
21867번: Java Bitecode (0) | 2024.06.13 |
3005번: 크로스워드 퍼즐 쳐다보기 (0) | 2024.06.13 |
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!