正解:构造

解题报告:

传送门$QwQ$

考虑如果有两个相邻格子是相同数字那么它们以上这两列就都会是这列数字(显然$QwQ$?

所以考虑只要构造出第$n-1$行的中心和中心右侧($or$左侧一样的$QwQ$都等于$x$,其他格子随便填就成鸭$QwQ$

然后就做完辣?记得分类讨论几个特殊情况嗷$QwQ$

$over$

#include<bits/stdc++.h>
using namespace std;
#define il inline
#define gc getchar()
#define mp make_pair
#define P pair<int,int>
#define ri register int
#define rb register bool
#define rc register char
#define t(i) edge[i].to
#define w(i) edge[i].wei
#define rp(i,x,y) for(ri i=x;i<=y;++i)
#define my(i,x,y) for(ri i=x;i>=y;--i)
#define e(i,x) for(ri i=head[x];i;i=edge[i].nxt) const int N=2e5+;
int n,x,a[N],tmp;
bool vis[N]; il int read()
{
rc ch=gc;ri x=;rb y=;
while(ch!='-' && (ch<'' || ch>''))ch=gc;
if(ch=='-')ch=gc,y=;
while(ch>='' && ch<='')x=(x<<)+(x<<)+(ch^''),ch=gc;
return y?x:-x;
} int main()
{
n=read();x=read();if(x== || x==n*-)return printf("No\n"),;printf("Yes\n");
if(x==){a[n]=;a[n+]=;tmp=;n=n*-;rp(i,,n)if(!a[i])a[i]=++tmp;rp(i,,n)printf("%d\n",a[i]);return ;}
a[n]=x;a[n+]=x+;a[n-]=x-;a[n+]=x-;vis[x]=vis[x+]=vis[x-]=vis[x-]=;
tmp=;n=n*-;rp(i,,n)if(!a[i]){while(vis[tmp])++tmp;a[i]=tmp;vis[tmp]=;}rp(i,,n)printf("%d\n",a[i]);
return ;
}

随机推荐

  1. mysql把一个表的字段update成另一个表的字段根据id

    mysql把一个表的字段update成另一个表的字段根据id 1.填充activity表里面的creator字段,用org的founderid,其中activity的orgid要和org的id对应,具 ...

  2. 修改Mariadb存储路径

    大部分基于此文章操作:http://lddyw.blog.51cto.com/4151746/1684364 找个好久的资料,都打算源码安装了,最后终于更改成功了. 环境:CentOS6.6 64位虚 ...

  3. 洛谷P2947 [USACO09MAR]向右看齐Look Up

    #include<cstdio> #include<algorithm> #include<stack> #include<cctype> using ...

  4. Nacos: Namespace 和 Endpoint 在生产环境下的最佳实践

    随着使用 Nacos 的企业越来越多,遇到的最频繁的两个问题就是:如何在我的生产环境正确的来使用 namespace 以及 endpoint.这篇文章主要就是针对这两个问题来聊聊使用 nacos 过程 ...

  5. uni-app拨打电话

    调起通讯页面拨打电话 https://uniapp.dcloud.io/api/system/phone?id=makephonecall 点击按钮直接拨打电话 <template> &l ...

  6. phpstorm 左边的文件列表没用了 怎么弄出来

      ALT+1ALT+数字键,是各种工具栏的显示与隐藏快捷键,你可以挨个试一下.

  7. js常见运算符

    博客地址 :https://www.cnblogs.com/sandraryan/

  8. 原生sql和 TP sql怎么关联?

    整合后

  9. jq on绑定事件off移除事件

    https://www.cnblogs.com/sandraryan/ 以前用的是bind(); 后来更新后用的on (on() 方法是 bind().live() 和 delegate() 方法的新 ...

  10. 前端开发工具之jQuery

    jQuery jQuery是一个轻量级的JavaScript第三方库,能够简单方便的进行JavaScript编程. jQuery选择器 1,id选择器: $("#id") 2,标签 ...