K-special Tables

CodeForces - 625C

人们经常做一些疯狂的事来凸显自己。有的人跳舞,有的人撩妹,有的人立志成为顶级程序猿(例如某peng),还有的人喜欢收集有趣的数学对象

Alice对上面的东西都很喜欢。现在她想要得到一张k-特殊表。一个大小为n*n的特殊表需要满足一下三个条件:

  • 1~n2之间的所有数都在表中出现恰好一次。
  • 每排内部的数递增排列。
  • 第k列的数之和尽可能的大

你的目标是帮助Alice找到至少一个n*n大小的k-特殊表。每排每列由1~n进行标号,每排按从上到下的顺序,每列按从左到右的顺序。

Input

第一行输入包含两个数:n和k(1 ≤ n ≤ 500, 1 ≤ k ≤ n)

Output首先输出第k列数字之和。

接下来输出的n行用于描述你所构造的表:第一行依次输出表中第一排的n个数,第二行依次输出表中第二排的n个数,以此类推。

如果存在多种答案,输出其中任意一种

Sample Input

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
 
sol:较基础的构造,显然对于每行,第k个到第n个元素应该是最大的
#include <bits/stdc++.h>
using namespace std;
typedef int ll;
inline ll read()
{
ll s=;
bool f=;
char ch=' ';
while(!isdigit(ch))
{
f|=(ch=='-'); ch=getchar();
}
while(isdigit(ch))
{
s=(s<<)+(s<<)+(ch^); ch=getchar();
}
return (f)?(-s):(s);
}
#define R(x) x=read()
inline void write(ll x)
{
if(x<)
{
putchar('-'); x=-x;
}
if(x<)
{
putchar(x+''); return;
}
write(x/);
putchar((x%)+'');
return;
}
#define W(x) write(x),putchar(' ')
#define Wl(x) write(x),putchar('\n')
const int N=;
int n,m,a[N][N];
int main()
{
int i,j,Now,Sum=;
R(n); R(m);
Now=n*n;
for(i=;i<=n;i++)
{
for(j=n;j>m;j--) a[i][j]=Now--;
Sum+=Now; a[i][m]=Now--;
}
for(i=;i<=n;i++)
{
for(j=m-;j>=;j--) a[i][j]=Now--;
}
Wl(Sum);
for(i=;i<=n;i++,puts(""))
{
for(j=;j<=n;j++) W(a[i][j]);
}
return ;
}
/*
input
5 3
output
85
*/

codeforces625C的更多相关文章

随机推荐

  1. android客服端+eps8266+单片机+路由器之远程控制系统

    用android客服端+eps8266+单片机+路由器做了一个远程控制的系统,因为自己是在实验室里,所以把实验室的门,灯做成了远程控制的. 控制距离有多远------只能说很远很远,只要你手机能上网的 ...

  2. GIT 分支管理:多人协作

    当你从远程仓库克隆时,实际上Git自动把本地的master分支和远程的master分支对应起来了,并且,远程仓库的默认名称是origin. 要查看远程库的信息,用git remote: $ git r ...

  3. Ionic app 通知在Moto 360 Watch上显示通知(2)

    在前一篇文章中,我们已经将Wtach的环境测试成功,下面进入我们自己消息的接收. 1.安装JPush插件在我们的App中,这个具体步骤可以参考 Ionic 安装JPush过程 2.在App上的登录模块 ...

  4. Ionic项目的建立

    Ionic建立android项目的过程 1.cmd到目标盘文件,此处为D:\Dev\sourcecode\IonicApp\FlexApp\CaseStudy,执行ionic start CaseSt ...

  5. Luogu P2261 [CQOI2007]余数求和

    最近中考放假几天都在怼一道BJOI2018的水题,但卡死在90pts跑不动啊! 然后今天发现终于过了然而Hack的数据全RE了然后就开始找新的题目来找回信心. 然后发现智能推荐里有这道题,然后想了1m ...

  6. 全自动数据表格JQuery版

    由于最近工作上有些变动,已经快一个月没有写博客了.上一篇博客[React]全自动数据表格组件——BodeGrid介绍了全自动数据表格的设计思路以及分享了一个react.js的实现.但是现实情况中为了节 ...

  7. 基于HTML5 WebGL实现 json工控风机叶轮旋转

    突然有个想法,如果能把一些用到不同的知识点放到同一个界面上,并且放到一个盒子里,这样我如果要看什么东西就可以很直接显示出来,而且这个盒子一定要能打开.我用HT实现了我的想法,代码一百多行,这么少的代码 ...

  8. android studio报Resolved versions for app (26.1.0) and test app (27.1.1)differ. 错误的解决办法

    https://blog.csdn.net/qq_36636969/article/details/80278150

  9. 归并排序O(nlogn)

    先分治再合并 代码 #include<bits/stdc++.h> using namespace std; #define ll long long int a[1000],t[1000 ...

  10. 《Linux内核分析》第五周学习笔记

    <Linux内核分析>第五周学习笔记 扒开系统调用的三层皮(下) 郭垚 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.c ...