C언어/문제풀다 하나씩

또 톱니바퀴 돌리기 문제

mcdn 2020. 5. 13. 14:13
반응형
#include <iostream>
using namespace std;

int isitSame(int arr[3][3], int brr[3][3]) {
	for (int i = 0; i < 3;i++) {
		for (int j = 0; j < 3;j++) {
			if (arr[i][j] != brr[i][j]) {
				return 0;
			}
		}
	}
	return 1;
}

void turn(int arr[3][3]) {
	int result[3][3];
	result[2][0] = arr[0][0];
	result[1][0] = arr[0][1];
	result[0][0] = arr[0][2];
	result[2][1] = arr[1][0];
	result[1][1] = arr[1][1];
	result[0][1] = arr[1][2];
	result[2][2] = arr[2][0];
	result[1][2] = arr[2][1];
	result[0][2] = arr[2][2];
	for (int i = 0; i < 3;i++) {
		for (int j = 0; j < 3;j++) {
			arr[i][j] = result[i][j];
		}
	}
	//cout << "1";
	return;
}

int main() {
	int arr[3][3];
	int brr[3][3];
	for (int i = 0; i < 3;i++) {
		for (int j = 0; j < 3;j++) {
			cin >> arr[i][j];
		}
	}
	for (int i = 0; i < 3;i++) {
		for (int j = 0; j < 3;j++) {
			cin >> brr[i][j];
		}
	}
	int circle = 0;
	int cnt = 	isitSame(arr, brr); // 0 is not same
	if (cnt == 1) {
		cout << circle; // 0
		return 0;
	}
	while (not cnt) {
		turn(arr);
		cnt = isitSame(arr, brr);
		
		circle++;
	}
	cout << circle;



}

result[1][1] 를 설정 안해서

계속 비어 있게 되어 에러남

 

;;;



입력 예제

1 1 1

2 2 2

3 3 3

 

1 2 3

1 2 3

1 2 3

출력 결과

1

반응형