在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
题意把1到n*n填在n*n的格子里。要求每一行都是递增的,使第k列的和最大。 分析第k列前的格子1 2 .. 按要求填到满格,然后第k列及后面的格子,都从左到右填递增1的数。 第k列的和再加起来,我很矫情地求了公式=_= 代码#include<cstdio> int n,k; int a[505][505]; int main() { scanf("%d%d",&n,&k); int m=1; for(int i=1; i<=n; i++) for(int j=1; j<k; j++) { a[i][j]=m++; } for(int i=1; i<=n; i++) for(int j=k; j<=n; j++) { a[i][j]=m++; } printf("%d\n",(n*(n-2+k)+k+1)*n/2); for(int i=1; i<=n; i++) { for(int j=1; j<=n; j++) { printf("%d ",a[i][j]); } printf("\n"); } return 0; }
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论