문제접근
•
배열의 마지막 인덱스부터 차례로 돌면서 1을 만나면 (1 ≤ i ≤ a, 1 ≤ j ≤ b)인 i, j를 모두 뒤집음
놓쳤던 부분
코드
2024 KB
0 ms
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main(void) {
int n, m;
vector<string> coins;
int answer = 0;
ios_base::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cin >> n >> m;
coins.resize(n);
for (int i = 0; i < n; i++)
cin >> coins[i];
for (int i = n - 1; i >= 0; i--) {
for (int j = m - 1; j >= 0; j--) {
if (coins[i][j] == '1') {
for (int row = i; row >= 0; row--) {
for (int col = j; col >= 0; col--) {
if (coins[row][col] == '1')
coins[row][col] = '0';
else
coins[row][col] = '1';
}
}
answer++;
}
}
}
cout << answer;
return (0);
}
C++
복사