codeforces 323A. Black-and-White Cube 构造
输入n
1 <= n <= 100
有一个n * n * n 的立方体,由n ^ 3 个1 * 1 * 1 的单位立方体构成
要用white 和 black 2种颜色来染这n ^ 3个立方体,要求:
白色的立方体恰好有2个相邻的白色立方体
黑色的立方体恰好有2个相邻的黑色立方体
无解的时候输出-1,有解的时候输出一种染色方案
solution:
n为奇数时,无解,输出 -1
n为偶数时,n = 2时的答案:
bb ww
bb ww
n > 2时,以n=2为中心向外面扩展,进行构造
如 n = 4时,:
wwww bbbb wwww bbbb
wbbw bwwb wbbw bwwb
wbbw bwwb wbbw bwwb
wwww bbbb bbbb bbbb
代码:
//File Name: cf323A.cpp
//Author: long
//Mail: 736726758@qq.com
//Created Time: 2016年05月26日 星期四 10时05分30秒 #include <stdio.h>
#include <string.h>
#include <algorithm>
#include <iostream> using namespace std; const int MAXN = ; char ans[MAXN][MAXN]; char get(int x){
if(x == ) return 'b';
return 'w';
} char get_c(char x){
if(x == 'w') return 'b';
return 'w';
} void update(int x,int y,char c){
for(int i=x;i<=y;i++){
ans[x][i] = c;
ans[i][x] = c;
ans[i][y] = c;
ans[y][i] = c;
}
} bool solve(int n){
if(n % ) return false;
int now = ;
for(int i=;i+i < n+;i++){
update(i,n+-i,get(now^=));
}
return true;
} int main(){
int n;
scanf("%d",&n);
if(!solve(n))
puts("-1");
else{
for(int i=;i<=n;i++){
for(int j=;j<=n;j++){
for(int k=;k<=n;k++){
if(i % )
printf("%c",ans[j][k]);
else
printf("%c",get_c(ans[j][k]));
}
puts("");
}
puts("");
}
}
return ;
}
codeforces 323A. Black-and-White Cube 构造的更多相关文章
- Codeforces Gym 100187K K. Perpetuum Mobile 构造
K. Perpetuum Mobile Time Limit: 2 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/100187/pro ...
- Codeforces 610C:Harmony Analysis(构造)
[题目链接] http://codeforces.com/problemset/problem/610/C [题目大意] 构造出2^n个由1和-1组成的串使得其两两点积为0 [题解] 我们可以构造这样 ...
- Codeforces 804E The same permutation(构造)
[题目链接] http://codeforces.com/contest/804/problem/E [题目大意] 给出一个1到n的排列,问每两个位置都进行一次交换最终排列不变是否可能, 如果可能输出 ...
- Codeforces 1276C/1277F/1259F Beautiful Rectangle (构造)
题目链接 http://codeforces.com/contest/1276/problem/C 题解 嗯,比赛结束前3min想到做法然后rush不出来了--比赛结束后又写了15min才过-- 以下 ...
- Codeforces 989 P循环节01构造 ABCD连通块构造 思维对云遮月参考系坐标轴转换
A 直接判存不存在连续的三个包含A,B,C就行 /*Huyyt*/ #include<bits/stdc++.h> #define mem(a,b) memset(a,b,sizeof(a ...
- codeforces 848A - From Y to Y(构造)
原题链接:http://codeforces.com/problemset/problem/848/A 题意:让我们构造一个字符串.这里有一种操作:取走这个字符串的若干部分,分成两部分,然后将这两部分 ...
- Codeforces 512E - Fox And Polygon(构造)
Codeforces 题面传送门 & 洛谷题面传送门 中规中矩的构造题一道. 首先考虑将两张图都向一个中间状态转化.方便起见我们取所有点都连向 \(1\) 号点的情形作为中间状态. 考虑怎样从 ...
- Codeforces 1491G - Switch and Flip(构造题)
Codeforces 题目传送门 & 洛谷题目传送门 obviously,难度高一点的构造题对我来说都是不可做题 首先考虑将排列拆成一个个置换环,也就是 \(\forall i\) 连边 \( ...
- codeforces 477B B. Dreamoon and Sets(构造)
题目链接: B. Dreamoon and Sets time limit per test 1 second memory limit per test 256 megabytes input st ...
随机推荐
- 1-4-1 Windows应用程序组成及编程步骤
主要内容:介绍Windows应用程序的组成以及编程步骤 1.应用程序的组成 <1>一个完整的应用程序通常由五种类型的文件组成 1.源程序文件 2.头文件 3.模块定义文件 4.资源描述文件 ...
- URAL 1227 Rally Championship(树的直径)(无向图判环)
1227. Rally Championship Time limit: 1.0 secondMemory limit: 64 MB A high-level international rally ...
- Android——模拟文件拷贝
模拟文件拷贝:要求:要用progressDialog和子线程来模拟显示拷贝进度:进度完成后在主界面提示拷贝完成,分别使用普通方式和消息机制编写. layout文件: <?xml version= ...
- GDI+中GIF图片的显示
某位网友曾经问过我GDI+中Gif图像显示的问题,一直没时间给你写,在此致歉.我把这篇文章送给他. 一.GIF格式介绍 1.概述 GIF(Graphics Interchange Format,图形交 ...
- 配置 Hdp 4 Window 中的一些问题
1,E0508: User [?] not authorized for WF job [-- jobid] 很明显验证问题, 修改 oozie-site.xml中节点为 <property&g ...
- 虚拟化之vmware-vsphere (web) client
两种客户端 vsphere client 配置>软件>高级设置里的变量 uservars.supressshellwarning=1 vsphere web client 安装完vSphe ...
- linux服务之udevd
http://www.ibm.com/developerworks/cn/linux/l-cn-udev/[root@localhost ~]# uname -r2.6.32-431.el6.x86_ ...
- python3多线程趣味详解
python3的多线程很多人无法理解是怎么运行的,因此本文从程序猿的日常生活出发,写了一个由浅入深的多线程教程,这样子大家就不会觉得陌生了,多线程真的很简单很简单! 不要讲多线程局限于库或者框架,自己 ...
- ef 高级操作
一:动态拼接条件查询 var expression = PredicateBuilder.True<OQC_MES_INF_UL_QMS_OFFLINE>(); SYS_ROLES_CON ...
- c#.net 调用BouncyCastle生成PEM格式的私钥和公钥
RsaKeyPairGenerator r = new RsaKeyPairGenerator(); r.Init()); AsymmetricCipherKeyPair keys = r.Gener ...