矩阵列平移(pta)

矩阵列平移(pta)_第1张图片
理解错题意啦,我以为是分别向下移动1个和k个,结果是1到k个 害!
也就是 第2列移动1个 第4列移动2 个 第6列移动 3个 以此类推

#include
using namespace std;
int a[110][110],n,m,p,k,z[110];
int main()
{
	int i,j;
	cin>>n>>k>>p;
	for(i=1; i<=n; i++)
	{
		for(j=1; j<=n; j++)
		{
			cin>>a[i][j];
//			b[i][j]=a[i][j];
		}
	}
	int cnt=1;
	for(j=1; j*2<=n; j++)
	{
		z[j*2]=cnt++;
		if(cnt==k+1)
		cnt=1;
	}
//	for(i=1;i<=n;i++)
//	printf("%d ",z[i]);
	for(i=1; i<=n; i++)
	{
		int sum=0;
		for(j=1; j<=n; j++)
		{
//			printf("+++ %d\n",sum);
			if(j%2)
			{
				sum+=a[i][j];
				continue;
			}
			if(i<=z[j])
			{
//				printf("*** %d\n",p);
				sum+=p;
			}
			else
			sum+=a[i-z[j]][j];
		}
		if(i==1)
		printf("%d",sum);
		else
		printf(" %d",sum);
	}

}

你可能感兴趣的:(思维,c++)