UVa 1605 联合国大楼】的更多相关文章

https://vjudge.net/problem/UVA-1605 题意:有n个国家,要求设计一栋楼并为这n个国家划分房间,要求国家的房间必须连通,且每两个国家之间必须有一间房间是相邻的. 思路:乍一看很难的样子,但真的是很简单.一共只要两层,每层都是n*n的,第一层第i行全是国家i,第二层第j列全是国家j. 但是如果不是这样做的话好像还是挺难的. #include<iostream> #include<algorithm> #include<string> #in…
题意:一个联合国大楼每层都有数量相等大小相同的格子,将其分配给n个国家,使任意两个不同的国家都相邻(同层有公共边或相邻层的同一个格子). 分析:可以设计一个只有两层的大楼,第一层每个国家占一行,第二层每个国家占一列,即每层都是n*n的. #pragma comment(linker, "/STACK:102400000, 102400000") #include<cstdio> #include<cstring> #include<cstdlib>…
题意: 有n个国家,要设计一栋长方体的大楼,使得每个单位方格都属于其中一个国家,而且每个国家都要和其他国家相邻. 分析: 紫书上有一种很巧妙的构造方法: 一共有2层,每层n×n.一层是每行一个国家,另一层是每列一个国家. #include <iostream> #include <cstdio> #include <cstring> using namespace std; ; ][maxn][maxn]; char ToChar(int x) { ) return '…
题目链接: https://cn.vjudge.net/problem/UVA-1605#author=0 /* 问题 设计一个包含若干层的联合国大厦,其中每一层都是等大的网格,每个格子分配给一个国家,使得任意两个不同的国家 都有一对相邻的格子,也就是说要么同层中有公共边的格子,要么是相邻层的同一个格子. 解题思路 首先看到这个题感觉无从下手,有种先放弃的感觉,看了分析,又读了读题,最多50个国家,每个国家用大写或者 小写字母表示,那分为两层,第一层的第i行是国家i,第二层的每j列国家j,这样就…
The United Nations has decided to build a new headquarters in Saint Petersburg, Russia. It will have aform of a rectangular parallelepiped and will consist of several rectangular oors, one on top of another.Each oor is a rectangular grid of the same…
题意: 有n个国家,要求你设计一栋楼并为这n个国家划分房间,要求国家的房间必须连通,且每两个国家之间必须有一间房间是相邻的 分析: 其实非常简单,完全被样例误导了.只需要设计两层就可以了,每个国家占第一层的每一行,占第二层的每一列,这样的话就既满足联通又相邻了 代码: #include<cstdio>#include<cstring>#define maxn 60char ans[maxn]="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklm…
题意:给出n个国家,给它们分配办公室,使得任意两个国家都有一对相邻的格子 看的紫书,最开始看的时候不理解 后来还是搜了题解--- 发现是这样的 比如说5个国家 应该输出 AAAA BBBB CCCC DDDD EEEE ABCDE ABCDE ABCDE ABCDE ABCDE 按照这样的办法来放置就好了 #include<iostream> #include<cstdio> #include<cstring> #include <cmath> #inclu…
UVA - 1605 Time Limit: 3000MS   Memory Limit: Unknown   64bit IO Format: %lld & %llu Description The United Nations has decided to build a new headquarters in Saint Petersburg, Russia. It will have a form of a rectangular parallelepiped and will cons…
题意:你的任务是设计一个包含若干层的联合国大楼,其中每层都是一个等大的网络 由若干个国家需要在联合国大楼里面办公 你需要把每个格子分配给一个国家 使得任意两个不同的国家都有一对相邻的格子  (要没是同层  要么是上下楼)  你设计的大厦不能超过一千个格子 思路:  一共只有两层  每层都是n*n的  第一层第i行全是国家i    第二层第j行全是国家j    效率非常之高 #include<cstdio> using namespace std; char country(int i) { )…
UVA 100 题目描述:经典3n+1问题在\(n \leq 10^6\)已经证明是可行的,现在记\(f[n]\)为从\(n\)开始需要多少步才能到\(1\),给出\(L, R\),问\(f[L], f[L+1], f[L+2], ... , f[R]\)中的最大值. solution 这题主要是坑... 1.\(L\)有可能大于\(R\) 2.数据范围应该是\(10^6\) 言归正传.通过打表发现,\(10^6\)以内的\(f[n]\)最大也只是几百,普遍都很小,所以不用记忆化也可以把\(f[…