题目链接:https://vjudge.net/contest/175446#problem/J

题解:显然要用最多n个点构成的图要使的得到的最短路条数有1e9次个,显然要有几个数相乘容易想到2的几进制显然所有数都可以又2的几次方凑的于是利用一下别人的图

这就是构造方法我的稍稍有些不同我是先构造直线再构造交叉的我感觉这样简单一点

#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
typedef long long ll;
char mmp[][];
bool vis[][];
ll Po[];
int num[];
int main() {
int k;
Po[] = ;
for(int i = ; i <= ; i++) {
Po[i] = (ll) * Po[i - ];
}
for(int i = ; i <= ; i++) {
for(int j = ; j <= ; j++) {
mmp[i][j] = 'N';
}
}
memset(num , , sizeof(num));
scanf("%d" , &k);
int gg = k , cnt = ;
while(gg) {
num[cnt++] = gg % ;
gg /= ;
}
cnt--;
int gm = ;
for(int i = ; i < * cnt ; i++) {
mmp[gm][gm + ] = mmp[gm + ][gm] = 'Y';
gm++;
}
int ed = gm;
mmp[gm][] = mmp[][gm] = 'Y';
mmp[][gm + ] = mmp[gm + ][] = 'Y';
gm++;
int tm = ;
for(int i = ; i < cnt ; i++) {
tm += ;
if(num[i]) {
mmp[gm][tm] = mmp[tm][gm] = 'Y';
}
if(i == cnt - ) {
mmp[gm][gm + ] = mmp[gm][gm + ] = mmp[gm + ][gm] = mmp[gm + ][gm] = 'Y';
mmp[gm + ][ed] = mmp[gm + ][ed] = mmp[ed][gm + ] = mmp[ed][gm + ] = 'Y';
gm += ;
break;
}
mmp[gm][gm + ] = mmp[gm][gm + ] = mmp[gm + ][gm] = mmp[gm + ][gm] = 'Y';
mmp[gm + ][gm + ] = mmp[gm + ][gm + ] = mmp[gm + ][gm + ] = mmp[gm + ][gm + ] = 'Y';
gm += ;
}
if(cnt == ) {
gm = ;
mmp[][] = mmp[][] = 'Y';
mmp[][] = mmp[][] = 'N';
}
printf("%d\n" , gm);
for(int i = ; i <= gm ; i++) {
for(int j = ; j <= gm ; j++) {
putchar(mmp[i][j]);
}
puts("");
}
return ;
}

最新文章

  1. Oracle:试图访问正在使用的事务临时表
  2. python对文件的操作
  3. MVC5 Controller简要创建过程(1):ControllerFactory的创建
  4. sqlite 学习
  5. Jquery实现的几款漂亮的时间轴
  6. Android KeyCode 列表
  7. Spring BeanWrapper分析
  8. linux中pam模块
  9. 11G新特性 -- flashback data archive(2)
  10. CSS中clear属性的both、left和right浅析
  11. kibana显示报错
  12. Kafka设计解析(八)Exactly Once语义与事务机制原理
  13. java多线程 -- ReadWriteLock 读写锁
  14. c++ 列表删除元素(erase)
  15. MySQL高级函数case的使用技巧----与sum结合实现分段统计
  16. 使用jQuery创建节点、将节点插入到指定的位置
  17. 使用Myeclipse进行简单webservice开发的示例
  18. ACM Computer Factory - poj 3436 (最大流)
  19. git 突破大文件上传限制
  20. scikit-learn 中 OneHotEncoder 解析

热门文章

  1. spring-boot-plus集成Spring Boot Admin管理和监控应用
  2. 刷脸即可解锁让iDevice取证不再难如登天
  3. 【Java例题】5.5 映射类的使用
  4. mysql中防止sql注入
  5. myeclipse源码相关操作
  6. input默认值设置
  7. vue+element搭建后台管理界面(支持table条件搜索)
  8. 【hdu 2544最短路】【Dijkstra算法模板题】
  9. RedHat 6.5换源
  10. 【win10主机】访问virtualbox上【32位winXP系统虚拟机】上启动的项目