题目
答案
#include<stdio.h>
int main()
{
int m,n;
scanf("%d %d",&m,&n);
m=m%n;
int a[n][n+m],i,j;
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=n+m-1;j>=m;j--)
{
a[i][j]=a[i][j-m];
}
for(j=0;j<m;j++)
{
a[i][j]=a[i][j+n];
}
}
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
printf("%d ",a[i][j]);
printf("\n");
}
}
PTA测试点
总结
我的思路是在每行的末尾扩展m个单元,先将原矩阵整体右移m个单位,然后再把第n+1列以及之后的矩阵放到最前面