牛客多校第六场 E Androgynos 自补图
2024-09-06 10:29:26
题意:
给定点数,构造自补图,要求输出邻接矩阵,和原图与补图的同构映射。
题解:
只有点数为4k和4k+1的情况才能构造自补图,因为只有这些情况下边数才为偶数。
一种构造方式是,邻接矩阵和同构映射增量构造,每次加四个边xyzw,x和w连接原来的所有边,yz不连,同构映射是交换xy,zw
参考:www.matrix67.com/blog/archives/6221
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int M = 2e3 + ;
const LL mod = ;
const LL lINF = 0x3f3f3f3f3f3f3f3f;
bool mp[M][M];
int t;
int n;
int a[M];
int main()
{
scanf("%d", &t);
for (int cnt = ; cnt <= t; cnt++)
{
scanf("%d", &n);
if (n % == )
{
printf("Case #%d: Yes\n", cnt);
memset(mp, , sizeof mp);
mp[][] = mp[][] = ;
mp[][] = mp[][] = ;
mp[][] = mp[][] = ;
a[] = ;
a[] = ;
a[] = ;
a[] = ;
for (int i = ; i <= n; i += )
{
mp[i][i + ] = mp[i + ][i] = ;
mp[i + ][i + ] = mp[i + ][i + ] = ;
mp[i + ][i + ] = mp[i + ][i + ] = ;
for (int j = ; j < ; j+=)
{
for (int k = ; k < i; k++)
{
mp[i + j][k] = mp[k][i + j] = ;
}
}
a[i] = i + ;
a[i + ] = i;
a[i + ] = i + ;
a[i + ] = i + ;
swap(a[i+], a[i + ]);
}
for (int i = ; i <= n; i++)
{
for (int j = ; j <= n; j++)
{
printf("%d", mp[i][j]);
}
puts("");
}
for (int i = ; i < n; i++)
{
printf("%d ", a[i]);
}
printf("%d\n", a[n]);
}
else if (n % == )
{
printf("Case #%d: Yes\n", cnt);
memset(mp, , sizeof mp);
a[] = ;
for (int i = ; i <= n; i += )
{
mp[i][i + ] = mp[i + ][i] = ;
mp[i + ][i + ] = mp[i + ][i + ] = ;
mp[i + ][i + ] = mp[i + ][i + ] = ;
for (int j = ; j < ; j+=)
{
for (int k = ; k < i; k++)
{
mp[i + j][k] = mp[k][i + j] = ;
}
}
a[i] = i + ;
a[i + ] = i;
a[i + ] = i + ;
a[i + ] = i + ;
swap(a[i+], a[i + ]);
}
for (int i = ; i <= n; i++)
{
for (int j = ; j <= n; j++)
{
printf("%d", mp[i][j]);
}
puts("");
}
for (int i = ; i < n; i++)
{
printf("%d ", a[i]);
}
printf("%d\n", a[n]);
}
else
{
printf("Case #%d: No\n", cnt);
}
}
}
最新文章
- .htaccess基本语法和应用 (2012-11-09 16:13:47)转载▼
- 10分钟学会前端调试利器——FireBug
- Week13(12月5日):不怕错误,慢慢来 :)
- jQuery(expression, [context]) , $(即jQuery)的參数问题
- Codeforces 10C Digital Root 法冠军
- JS或jQuery实现一组复选框的全选和取消全选?
- MYSQL:alter语句中change和modify的区别
- java8 快速实现List转map 、分组、过滤等操作
- How to enable mp3 on Ubuntu
- java基础-day19
- UniGUI的TUniLoginForm窗口自定义背景色和背景图片
- 常见的网络攻击(XSS,SQL注入,CSRF)
- samba 服务器搭建
- Linux下grep命令查找带有tab(退格)的字符
- jenkins权限设置
- you-get 下载网络上的富媒体信息
- ICLR 2013 International Conference on Learning Representations深度学习论文papers
- POJ1061:青蛙的约会——题解
- thinkphp的select和find的区别(转)
- MySql多对多关系中外键的应用