#1097: 바둑알 십자 뒤집기

CodeUp | #1097: 바둑알 십자 뒤집기

C++
#include <iostream>
#include <cstdio>

using namespace std;

int main() {
	int arr[19][19] = {};
	for(auto & i : arr){
		for(int & j : i){
			cin >> j;
		}
	}
	
	int n;
	cin >> n;
	for (int i = 0; i < n; i++) {
		int x, y;
		cin >> x >> y;
		for(int j = 0; j < 19; j++){
			if(arr[x-1][j] == 0){
				arr[x-1][j] = 1;
			}
			else{
				arr[x-1][j] = 0;
			}
		}
		for(auto & j : arr){
			if(j[y-1] == 0){
				j[y-1] = 1;
			}
			else{
				j[y-1] = 0;
			}
		}
	}
	
	for (auto & i : arr) {
		for (int j : i) {
			printf("%d ", j);
		}
		printf("\n");
	}
	
	return 0;
}

오랜만에 코드 올려봅니다. 참고로 구글링 없이 푼 문제입니다.
range-based for loop은 CLion이 도와줬습니다.

생각해보니 오랜만은 아니네;