题目链接: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 ;
}

codeforces 389 D. Fox and Minimal path(构造+思维)的更多相关文章

  1. Codeforces Round #228 (Div. 1) B. Fox and Minimal path 构造

    B. Fox and Minimal path 题目连接: http://codeforces.com/contest/388/problem/B Description Fox Ciel wants ...

  2. Codeforces Round #228 (Div. 1) 388B Fox and Minimal path

    链接:http://codeforces.com/problemset/problem/388/B [题意] 给出一个整数K,构造出刚好含有K条从1到2的最短路的图. [分析] 由于是要自己构造图,当 ...

  3. codeforces 388B Fox and Minimal path

    这个题目的突破口就是固定最短长度,然后以二进制的形式分层: 最后把需要的曾连起来: #include<cstdio> #include<cstring> #define max ...

  4. CF #228 div1 B. Fox and Minimal path

    题目链接:http://codeforces.com/problemset/problem/388/B 大意是用不超过1000个点构造一张边权为1的无向图,使得点1到点2的最短路的个数为给定值k,其中 ...

  5. codeforces 1016C - Vasya And The Mushrooms 【构造 + 思维】

    题目链接:戳这里 题意:从(1,1)出发,一遍把格子走完,每个格子只能走一次.问怎么走总和最大. 解题思路:画图可知,总共就3种走法的混合. dw: 样例1的走法 up: 样例1反过来的走法 lp: ...

  6. Codeforces Round #582 (Div. 3)-G. Path Queries-并查集

    Codeforces Round #582 (Div. 3)-G. Path Queries-并查集 [Problem Description] 给你一棵树,求有多少条简单路径\((u,v)\),满足 ...

  7. Codeforces 512E - Fox And Polygon(构造)

    Codeforces 题面传送门 & 洛谷题面传送门 中规中矩的构造题一道. 首先考虑将两张图都向一个中间状态转化.方便起见我们取所有点都连向 \(1\) 号点的情形作为中间状态. 考虑怎样从 ...

  8. Codeforces Gym 100342H Problem H. Hard Test 构造题,卡迪杰斯特拉

    Problem H. Hard TestTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/100342/at ...

  9. codeforces 454 E. Little Pony and Summer Sun Celebration(构造+思维)

    题目链接:http://codeforces.com/contest/454/problem/E 题意:给出n个点和m条边,要求每一个点要走指定的奇数次或者是偶数次. 构造出一种走法. 题解:可能一开 ...

随机推荐

  1. 【iOS】iOS main() 简介

    C 语言编写的程序,其执行入口都是 main(). 用 Objective-C 语言编写的程序也是这样. main.m 中的代码如下: int main(int argc, char * argv[] ...

  2. 【iOS】NSString rangeOfString

    今天遇到了 NSString 的 rangeOfString 方法,刚遇到的时候不知道什么作用, 网上找到了一篇文章,介绍得挺简洁,代码如下: NSString *str1 = @"can ...

  3. UE4 打包详细流程

    这两天试着把之前做的一个UE4项目在安卓机上运行下,于是乎有了下面的一个打包血泪史. 首先呢,肯定是下载好了UE的源码了,我用的是4.18. 安装步骤可以先参考下官方的教程http://api.unr ...

  4. java的jar打包工具的使用

    java的jar打包工具的使用 java的jar是一个打包工具,用于将我们编译后的class文件打包起来,这里面主要是举一个例子用来说明这个工具的使用. 在C盘下的temp文件夹下面:         ...

  5. 从windows10迁移到Linux Deepin

    如题, 这几天从windows系统迁移到deepin的linux系统花了很多时间, 以致最近都没时间来博客园.现在将这几天的成果分享出来, 顺便也做个记录.先不多说, 上一张新系统界面. 其实在装de ...

  6. 使用sar进行性能分析

    sar可用于监控Linux系统性能,帮助我们分析性能瓶颈.sar工具的使用方式为”sar [选项] intervar [count]”,其中interval为统计信息采样时间,count为采样次数. ...

  7. 从Maven私服获取依赖

    通过Internet直接从Maven公用仓库获取依赖包是默认配置.不过对于中国软件公司来讲,访问这些公用仓库通常较慢,对于一些管理严格的不能直接上网的软件公司来讲,这更加是不可能的.Maven项目可以 ...

  8. 电脑查询pico的mac

    配置好adb或者sdk后,  adb shell cat /sys/class/net/wlan0/address

  9. 解决!!-- krb5-libs.x86_64被卸载,yum不能使用,ssh不能连接

    常在河边走哪有不湿鞋,常玩服务器哪有不搞挂几台,一不小心就搞挂了 今天删除 krb5-libs.x86_64下了狠功夫..... 用了命令: rpm -e --nodeps  krb5-libs.x8 ...

  10. Docker之- 使用Docker 镜像和仓库

    目录 使用Docker 镜像和仓库 什么是 Docker 镜像 列出 Docker 镜像 tag 标签 Docker Hub 拉取镜像 查找镜像 构建镜像 创建Docker Hub 账号 使用 Doc ...