传送门:https://ac.nowcoder.com/acm/contest/886/E

首先要同构的话,必须补图和原图边数一样,完全图总边数就必须是偶数,那么只有n%4=1 和 n%4=0时总边数是偶数了。

4个点,4个点我们考虑从1变到5的情况,首先考虑2,3,4,5这新加进来的点,由样例可以想到,把他们连成一条线,补图也一定是一条线,那么考虑之前的点,让他们与新加进来的4个点中的任意两个点相连,那么补图就是前面这些点与另外两个相连,而前面那些点原来的连接也可以保证自身是补图,所以就可以这样推过来。

从4变成8也和上面相似。

映射只要手推一下,每四个每四个按照一定顺序交换就行了。

#include<bits/stdc++.h>
using namespace std;
int f[2005];
int g[2005][2005];
int main()
{int t;scanf("%d",&t);for(int kace=1;kace<=t;kace++){int n;scanf("%d",&n);int ty=n%4;int id;if(ty==2||ty==3){printf("Case #%d: No\n",kace);continue;}for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)g[i][j]=0;if(ty==1){for(int i=ty;i<=n-4;i+=4){for(int j=1;j<=i;j++){g[i+2][j]=1;g[j][i+2]=1;g[i+3][j]=1;g[j][i+3]=1;}g[i+1][i+2]=g[i+2][i+1]=1;g[i+2][i+3]=g[i+3][i+2]=1;g[i+3][i+4]=g[i+4][i+3]=1;}printf("Case #%d: Yes\n",kace);for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){printf("%d",g[i][j]);}puts("");}for(int i=1;i<=n;i++)f[i]=i;for(int i=1;i<=n/4;i++){id=(i-1)*4+1;swap(f[id+2],f[id+3]);swap(f[id+1],f[id+2]);swap(f[id+3],f[id+4]);}for(int i=1;i<=n;i++)printf("%d%c",f[i],(i==n)?'\n':' ');/*bool flag=true;for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)if(i!=j)if(g[f[i]][f[j]]!=(g[i][j]^1))flag=false;if(flag)puts("Yes");*///变换顺序}else{ty=4;g[1][2]=g[2][1]=g[2][3]=g[3][2]=g[3][4]=g[4][3]=1;for(int i=ty;i<=n-4;i+=4){for(int j=1;j<=i;j++){g[i+2][j]=1;g[j][i+2]=1;g[i+3][j]=1;g[j][i+3]=1;}g[i+1][i+2]=g[i+2][i+1]=1;g[i+2][i+3]=g[i+3][i+2]=1;g[i+3][i+4]=g[i+4][i+3]=1;}printf("Case #%d: Yes\n",kace);for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){printf("%d",g[i][j]);}puts("");}for(int i=1;i<=n;i++)f[i]=i;for(int i=1;i<=n/4;i++){id=(i-1)*4;swap(f[id+2],f[id+3]);swap(f[id+1],f[id+2]);swap(f[id+3],f[id+4]);}for(int i=1;i<=n;i++)printf("%d%c",f[i],(i==n)?'\n':' ');/*bool flag=true;for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)if(i!=j)if(g[f[i]][f[j]]!=(g[i][j]^1))flag=false;if(flag)puts("Yes");*/}}
}

2019牛客多校第六场 E Androgynos相关推荐

  1. [题解]Shorten IPv6 Address-模拟(2019牛客多校第六场B题)

    题目链接:https://ac.nowcoder.com/acm/contest/886/B 题意: 您将获得一个IPv6地址,该地址是128位二进制字符串.请根据以下规则确定其最短的表示: 以十六进 ...

  2. 牛客多校第六场 E Androgynos 自补图

    题意: 给定点数,构造自补图,要求输出邻接矩阵,和原图与补图的同构映射. 题解: 只有点数为4k和4k+1的情况才能构造自补图,因为只有这些情况下边数才为偶数. 一种构造方式是,邻接矩阵和同构映射增量 ...

  3. 2019牛客多校第四场 I题 后缀自动机_后缀数组_求两个串de公共子串的种类数

    目录 求若干个串的公共子串个数相关变形题 对一个串建后缀自动机,另一个串在上面跑同时计数 广义后缀自动机 后缀数组 其他:POJ 3415 求两个串长度至少为k的公共子串数量 @(牛客多校第四场 I题 ...

  4. 牛客多校第六场-H-Pair

    链接:https://ac.nowcoder.com/acm/contest/887/H 来源:牛客网 题目描述 Given three integers A, B, C. Count the num ...

  5. 2019牛客多校训练营第一场 H题 HOR 题解

    题目描述: 输入描述: 输出描述: 示例1: 题解: 更多问题可关注牛客竞赛区,一个刷题.比赛.分享的社区. 传送门:https://ac.nowcoder.com/acm/contest/discu ...

  6. 2019牛客多校 第七场 B Irreducible Polynomial 多项式因式分解判断

    链接:https://ac.nowcoder.com/acm/contest/887/B 来源:牛客网 Irreducible Polynomial 时间限制:C/C++ 1秒,其他语言2秒 空间限制 ...

  7. 2019牛客多校训练营第一场 E题 ABBA 题解

    问题描述: 输入描述: 输出描述: 示例1: 题解: 更多问题可关注牛客竞赛区,一个刷题.比赛.分享的社区. 传送门:https://ac.nowcoder.com/acm/contest/discu ...

  8. 2019牛客多校第七场 C Governing sand

    因为当时时间不怎么够就没写... 其实就是一个模拟题而已下面注释很清楚 链接:https://ac.nowcoder.com/acm/contest/887/C 来源:牛客网 时间限制:C/C++ 3 ...

  9. 2019牛客多校第四场 B xor (线性基求交)

    xor 思路 题目是要求[l,r][l, r][l,r]的所有集合是否都可以得到xxx,那么显然我们可以对这[l,r][l, r][l,r]个线性基求交,然后再特判能否xxx能否插入,如果能插入,显然 ...

最新文章

  1. iOS富文本字符串AttributedString详解
  2. 把项目发到github
  3. 跟正刊学习SCI英文写作——摘要部分的拆解
  4. CloudFoundry应用的自定义端口的命令行设置方式
  5. [渝粤教育] 中国地质大学 高层建筑施工 复习题
  6. ZooKeeper安装,部署
  7. c和汇编混合编程----main的反汇编
  8. (数据库系统概论|王珊)第三章关系数据库标准语言SQL-第六、七节:视图
  9. centos7 mysql 开机启动_mysqld service 随开机启动 (Centos6,Centos7)
  10. textjoin去重_Excel 2016新增函数之TEXTJOIN
  11. python中单引号双引号三引号_python中单引号双引号三引号
  12. 抖音培训教程,抖音培训班,抖音培训课程(2019实时更新中) -
  13. svn创建版本库以及创建其下目录
  14. JQUERY的使用,获取ul,li里面的值
  15. 阿里云域名配置以及https证书(ssl证书)配置
  16. windows7电脑备份系统教程
  17. 纺织ERP系统_纺织ERP软件_纺织面料系统
  18. 逗比学CTF.day8
  19. CleanMyMac2023Mac下载排行最好的清理工具
  20. 网易云web安全工程师第一天

热门文章

  1. 一文看尽2020上半年阿里、腾讯、百度入选AI顶会论文
  2. IntelliJ IDEA 2021.2版文件显示图标有误的解决方法
  3. STM32学习笔记(15)——SPI协议
  4. 【Spring系列】- Spring循环依赖
  5. JAVA中传值与“传引用“辨析
  6. OR-CAD CAPTURE学习笔记——ERROR(ORCAP-11010)
  7. 盲盒包装流水线 (25 分) C语言
  8. 超级码力在线编程大赛初赛 第2场 题解
  9. Python爬虫实战四 | 盘搜搜1.2-网盘搜索神器开源
  10. 对接亚马逊 SP-API(Amazon Selling Partner API) 第六章:Fulfillment Inbound 模块