cf 625 C. K-special Tables (打表+规律)
2016-03-02 23:27
295 查看
People do many crazy things to stand out in a crowd. Some of them dance, some learn by heart rules of Russian language, some try to become an outstanding competitive programmers, while others collect funny math objects.
Alis is among these collectors. Right now she wants to get one of k-special tables. In case you forget, the table n × nis
called k-special if the following three conditions are satisfied:
every integer from 1 to n2 appears
in the table exactly once;
in each row numbers are situated in increasing order;
the sum of numbers in the k-th column is maximum possible.
Your goal is to help Alice and find at least one k-special table of size n × n.
Both rows and columns are numbered from 1 to n,
with rows numbered from top to bottom and columns numbered from left to right.
Input
The first line of the input contains two integers n and k (1 ≤ n ≤ 500, 1 ≤ k ≤ n) —
the size of the table Alice is looking for and the column that should have maximum possible sum.
Output
First print the sum of the integers in the k-th column of the required table.
Next n lines should contain the description of the table itself: first line should contains n elements
of the first row, second line should contain n elements of the second row and so on.
If there are multiple suitable table, you are allowed to print any.
Examples
input
output
input
output
Alis is among these collectors. Right now she wants to get one of k-special tables. In case you forget, the table n × nis
called k-special if the following three conditions are satisfied:
every integer from 1 to n2 appears
in the table exactly once;
in each row numbers are situated in increasing order;
the sum of numbers in the k-th column is maximum possible.
Your goal is to help Alice and find at least one k-special table of size n × n.
Both rows and columns are numbered from 1 to n,
with rows numbered from top to bottom and columns numbered from left to right.
Input
The first line of the input contains two integers n and k (1 ≤ n ≤ 500, 1 ≤ k ≤ n) —
the size of the table Alice is looking for and the column that should have maximum possible sum.
Output
First print the sum of the integers in the k-th column of the required table.
Next n lines should contain the description of the table itself: first line should contains n elements
of the first row, second line should contain n elements of the second row and so on.
If there are multiple suitable table, you are allowed to print any.
Examples
input
4 1
output
28 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
input
5 3
output
85 5 6 17 18 19 9 10 23 24 25 7 8 20 21 22 3 4 14 15 16 1 2 11 12 13
#include<bits/stdc++.h> using namespace std; int a[555][555]; int main() { int n,m,i,j,k; while(cin>>n>>m) { k=1; for(i=1;i<=n;i++) { for(j=1;j<m;j++) a[i][j]=k++; } a[1][m]=n*n-(n-m); for(i=2;i<=n;i++) a[i][m]=a[i-1][m]-(n-m+1); for(i=1;i<=n;i++) { for(j=m+1;j<=n;j++) a[i][j]=a[i][j-1]+1; } int ans=0; for(i=1;i<=n;i++) ans+=a[i][m]; cout<<ans<<endl; for(i=1;i<=n;i++) { for(j=1;j<=n;j++) cout<<a[i][j]<<" "; cout<<endl; } } return 0; }
相关文章推荐
- 两个netfilter的例子 http://blog.csdn.net/CaspianSea/article/details/43730021
- 关于延迟时间的一点智慧
- iOS_SN_UITableView的优化
- 7天 搞定 ASP.NET MVC - 第3天
- fedora23 双系统 修改系统启动顺序
- java小小工具第四弹 计算器(括号运算)
- 剩余定理
- 文件分割合并
- 表达式的副作用解释【引用】
- Ember Debug Adapter (ISA3) --- Feature
- 装饰器模式
- C#之使用委托查找任意单一类型数组的最大值
- Android 中自定义控件和属性(attr.xml,declare-styleable,TypedArray)的方法和使用
- 2.6.30内核Netfilter的简单例子、一(DropAll) http://blog.csdn.net/sahusoft/article/details/4540886
- JavaScript的祖师爷-----布兰登艾奇
- Selenium的高级应用
- css中常用的几种居中方法
- 【C#】基础知识—字符与字符串
- 快手sig计算
- 滚动条的创建(1)