CodeForces 625C K-special Tables
简单构造
#include <stdio.h> #include <algorithm> #include <string.h> #include <queue> #include <stack> #include <map> #include <vector> using namespace std; const int maxn=600; int n,m; int ans[maxn][maxn]; int main() { scanf("%d%d",&n,&m); int now=n*n; for(int i=n;i>=1;i--) { for(int j=n;j>=m;j--) { ans[i][j]=now; now--; } } for(int i=n;i>=1;i--) { for(int j=m-1;j>=1;j--) { ans[i][j]=now; now--; } } int sum=0; for(int i=1;i<=n;i++) { sum=sum+ans[i][m]; } printf("%d\n",sum); for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { printf("%d ",ans[i][j]); } printf("\n"); } return 0; }