ascode 1115 전치행렬 구하기
문제 설명
Matrix M이 주어질 때 Matrix M의 전치행렬을 구하여라. M의 전치행렬 MT의 원소 mT[i][j]는 m의 원소인 m[j][i]이다. 만약 행과 열의 크기가 같고 M과 MT의 대응되는 모든 원소값이 같은 경우에는 Identical 이라고만 출력한다.
예를 들어
1 2 3
4 5 6
의 전치행렬은
1 4
2 5
3 6
이다.
입력 설명
첫 줄에 Test Case의 수 T가 주어진다.
각 Test Case에 Matrix M의 크기 a, b(1 <= a, b <= 10)가 주어지고 그 다음 줄부터 Matrix a×b 크기의 Matrix가 입력된다. Matrix의 원소는 100보다 작은 자연수이다.
출력 설명
각 Test Case에 대해 주어진 Matrix M의 전치행렬 MT을 출력한다. 만약 M과 MT가 같을 경우에는 Identical 이라고만 출력한다.
입력 예시
2
2 3
1 2 3
4 5 6
3 3
1 2 1
2 1 3
1 3 1
출력 예시
1 4
2 5
3 6
Identical
코드
#include <stdio.h>
int main() {
int a,b,c,j,i,arr[11][11], ar[11][11], result = 0;
scanf("%d", &a);
for (int v = 0; v < a; v++)
{
scanf("%d %d", &b, &c);
for ( j = 0; j < b; j++)
{
for (int i = 0; i < c; i++)
{
scanf("%d", &arr[j][i]);
ar[j][i] = arr[j][i];
}
}
for (j = 0; j < b; j++)
{
for ( i = 0; i < c; i++)
{
if (arr[j][i] == ar[i][j]) {
result++;
}
}
}
if (b * c == result) {
printf("Identical\n");
result = 0;
}
else {
for (j = 0; j < c; j++)
{
for ( i = 0; i < b; i++)
{
printf("%d ", ar[i][j]);
}
printf("\n");
}
result = 0;
}
}
}
나 : say
저건 스파케티 코드란다.
댓글남기기