#include <stdio.h>
void check(int map[12][12],int n){
for(int i=0;i<n;i++){
for(int j=0;j<=i;j++){
printf("%d ",map[i][j]);
}
printf("\n");
}
}
int main(void) {
int tr_A1[12][12]={};
int tr_B[12][12]={};
int tr_A2[12][12]={};
int tr_A3[12][12]={};
int min=0;
int n;
if(scanf("%d",&n)==0)
return 0;
for(int i=0;i<n;i++){
for(int j=0;j<=i;j++){
if(scanf("%d",&tr_A1[i][j])==0)
return 0;
}
}
for(int i=0;i<n;i++){
for(int j=0;j<=i;j++){
if(scanf("%d",&tr_B[i][j])==0)
return 0;
if(tr_A1[i][j] != tr_B[i][j])
min++;
}
}
int a=0;
for(int i=0,x=0 ; i<n ; i++,x++){
for(int j=0,y=n-1,x1=x ; j<=i ; j++,y--,x1--){
tr_A2[i][j] = tr_A1[y][x1];
if(tr_A2[i][j] != tr_B[i][j])
a++;
}
}
if(a < min)
min = a;
int b=0;
for(int i=0,x=n-1,y=n-1 ; i<n ; i++,x--,y--){
for(int j=0,y1=y;j<=i;j++,y1++){
tr_A3[i][j] = tr_A1[y1][x];
if(tr_A3[i][j] != tr_B[i][j])
b++;
}
}
if(b < min)
min = b;
int c=0;
for(int i=0 ; i<n ; i++){
for(int j=0 ; j<=i ; j++){
if(tr_A1[i][i-j] != tr_B[i][j])
c++;
}
}
if(c < min)
min = c;
int d=0;
for(int i=0 ; i<n ; i++){
for(int j=0 ; j<=i ; j++){
if(tr_A2[i][i-j] != tr_B[i][j])
d++;
}
}
if(d < min)
min = d;
int e=0;
for(int i=0 ; i<n ; i++){
for(int j=0 ; j<=i ; j++){
if(tr_A3[i][i-j] != tr_B[i][j])
e++;
}
}
if(e < min)
min = e;
printf("%d",min);
return 0;
}
top of page
실제 작동 상태를 확인하려면 라이브 사이트로 이동하세요.
두 정삼각형
두 정삼각형
댓글 0개
좋아요
댓글(0)
bottom of page