游客 Signup | Login
中文 | En

1568 - 矩阵转置0


输入一个N*N的矩阵,将其转置后输出。要求:不得使用任何数组(就地逆置)。

<br />

Input


输入的第一行包括一个整数N,(1&lt;=N&lt;=100),代表矩阵的维数。<br />

接下来的N行每行有N个整数,分别代表矩阵的元素。

<br />

Output


可能有多组测试数据,对于每组数据,将输入的矩阵转置后输出。

<br />

Examples

Input

1
68 
3
1 70 25 
79 59 63 
65 6 46 

Output

68
1 79 65
70 59 6
25 63 46

Solution C

int main(int argc, char* argv[])
{
int n,a[101][101],i,j;
while(~scanf("%d",&n))
{
for(i=0;i<n;i++)
for(j=0;j<n;j++)
scanf("%d",&a[i][j]);
for(i=0;i<n;i++)
{for(j=0;j<n-1;j++)
printf("%d ",a[j][i]);
printf("%d\n",a[j][i]);
}
}
	return 0;
}

Solution C++

#include <stdio.h>
int main()
{    
	int n,a[101][101],i,j;
	scanf("%d",&n);
	while(n!=0)
	{
		for(i=0;i<n;i++)
			for(j=0;j<n;j++)
				scanf("%d",&a[i][j]);
		for(i=0;i<n;i++)
		{
			for(j=0;j<n-1;j++)
				printf("%d ",a[j][i]);
			printf("%d\n",a[n-1][i]);
		}
		n=0;
		scanf("%d",&n);
	}
	return 0;
}

Time Limit 1 second
Memory Limit 32 MB
Discuss Stats
上一题 下一题