ascode 1215 특별한 전치행렬 구하기
문제 설명
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
이다.
입력 설명
첫 줄에 테스트케이스의 수 T가 주어진다.
각 테스트케이스에 대해 행렬 M의 크기 a(높이), b(폭)(1 <= a, b <= 10)가 주어지고 그 다음 줄부터 행렬 M의 원소가 a x b 갯수만큼 입력된다. Matrix의 원소는 0 이상 100 이하의 자연수이다.
출력 설명
각 테스트케이스에 대해 주어진 행렬 M의 전치행렬 MT을 출력한다. 만약 가로, 세로의 크기가 같을 경우에는 M 그대로 출력한다.
입력 예시
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
1 2 1
2 1 3
1 3 1
코드
#include <stdio.h>
int main() {
int a, b, c, j, i, arr[11][11], ar[11][11];
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];
}
}
if (b == c) {
for (j = 0; j < c; j++)
{
for (i = 0; i < b; i++)
{
printf("%d ", arr[j][i]);
}
printf("\n");
}
}else {
for (j = 0; j < c; j++)
{
for (i = 0; i < b; i++)
{
printf("%d ", ar[i][j]);
}
printf("\n");
}
}
}
}
나 : say
dma
댓글남기기