Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- ID: victao1
- LANG: C++
- TASK: transform
- */
- #include <iostream>
- #include <cstdio>
- #define MAX_N 10
- int N = MAX_N;
- using namespace std;
- void print(char a[MAX_N][MAX_N]){
- for(int i = 0; i < N; i++){
- for(int j = 0; j < N; j++){
- cout << a[i][j];
- }
- cout << "\n";
- }
- }
- void reflect(char a[MAX_N][MAX_N]){
- char t, newa[MAX_N][MAX_N];
- int c = 0;
- for(int i = 0; i < N; i++){
- for(int j = 0; j < N; j++){
- newa[i][N - j - 1] = a[i][j];
- }
- }
- for(int i = 0; i < N; i++){
- for(int j = 0; j < N; j++){
- a[i][j] = newa[i][j];
- }
- }
- }
- void copyarray(char a[MAX_N][MAX_N], char copya[MAX_N][MAX_N]){
- for(int i = 0; i < N; i++){
- for(int j = 0; j < N; j++){
- copya[i][j] = a[i][j];
- }
- }
- }
- bool equals(char a[MAX_N][MAX_N], char ar[MAX_N][MAX_N]){
- bool b = true;
- for(int i = 0; i < N; i++){
- for(int j = 0; j < N; j++){
- if(ar[i][j] != a[i][j]){
- b = false;
- break;
- }
- }
- }
- return b;
- }
- void clockwise(char a[MAX_N][MAX_N]){
- char t, newa[MAX_N][MAX_N];
- int c = 0;
- for(int i = 0; i < N; i++){
- for(int j = 0; j < N; j++){
- newa[j][N - i - 1] = a[i][j];
- }
- }
- for(int i = 0; i < N; i++){
- for(int j = 0; j < N; j++){
- a[i][j] = newa[i][j];
- }
- }
- }
- int main(){
- freopen("transform.in", "r", stdin);
- freopen("transform.out", "w", stdout);
- cin >> N;
- char a[MAX_N][MAX_N], copya[MAX_N][MAX_N], out[MAX_N][MAX_N];
- for(int i = 0; i < N; i++){
- for(int j = 0; j < N; j++){
- cin >> a[i][j];
- copya[i][j] = a[i][j];
- }
- }
- for(int i = 0; i < N; i++){
- for(int j = 0; j < N; j++){
- cin >> out[i][j];
- }
- }
- //rint(out);
- char one[MAX_N][MAX_N];
- copyarray(a, one);
- clockwise(one);
- char two[MAX_N][MAX_N];
- copyarray(a, two);
- clockwise(two);
- clockwise(two);
- char three[MAX_N][MAX_N];
- copyarray(a, three);
- clockwise(three);
- clockwise(three);
- clockwise(three);
- char four[MAX_N][MAX_N];
- copyarray(a, four);
- reflect(four);
- char fivea[MAX_N][MAX_N];
- copyarray(a, fivea);
- reflect(fivea);
- clockwise(fivea);
- char fiveb[MAX_N][MAX_N];
- copyarray(a, fiveb);
- reflect(fiveb);
- clockwise(fiveb);
- clockwise(fiveb);
- char fivec[MAX_N][MAX_N];
- copyarray(a, fivec);
- reflect(fivec);
- clockwise(fivec);
- clockwise(fivec);
- clockwise(fivec);
- if(equals(one, out)) cout << "1" << "\n"; else
- //copya = a;
- if(equals(two, out)) cout << "2" << "\n"; else
- if(equals(three, out)) cout << "3" << "\n"; else
- if(equals(four, out)) cout << "4" << "\n"; else
- if(equals(fivea, out)) cout << "5" << "\n"; else
- if(equals(fiveb, out)) cout << "5" << "\n"; else
- if(equals(fivec, out)) cout << "5" << "\n"; else
- if(equals(a, out)) cout << "6" << "\n"; else cout << "7" << "\n";
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement