A. Black-and-White Cube
time limit per test

1 second

memory limit per test

256 megabytes

input

standard input

output

standard output

You are given a cube of size k × k × k, which consists of unit cubes. Two unit cubes are considered neighbouring, if they have common face.

Your task is to paint each of k3 unit cubes one of two colours (black or white), so that the following conditions must be satisfied:

  • each white cube has exactly 2 neighbouring cubes of white color;
  • each black cube has exactly 2 neighbouring cubes of black color.
Input

The first line contains integer k (1 ≤ k ≤ 100), which is size of the cube.

Output

Print -1 if there is no solution. Otherwise, print the required painting of the cube consequently by layers. Print ak × k matrix in the first k lines, showing how the first layer of the cube should be painted. In the followingk lines print a k × k matrix — the way the second layer should be painted. And so on to the lastk-th layer. Note that orientation of the cube in the space does not matter.

Mark a white unit cube with symbol "w" and a black one with "b". Use the format of output data, given in the test samples. You may print extra empty lines, they will be ignored.

Sample test(s)
Input
1
Output
-1
Input
2
Output
bb
ww bb
ww

题目意思,输出一个k*k*k的立体模型,使每个b的旁边有2个b,每个k的旁边有2个k
题解:

题目说的输出描述有点问题,它说的是先输出你的第1层,再输出k层从1到k的你的模型。实际上只用输出你构造的模型的1-k层。

这里提供两种构造方法

第1种

bbwwbb

bbwwbb

wwbbww

wwbbww

bbwwbb

bbwwbb

这种就是4个4个的。。以后每层就把上一层取反就OK了

还有一种是

bbbbbb

bwwwwb

bwbbwb

bwbbwb

bwwwwb

bbbbbb

类似这种不断将最外层围起来的构造方式,同理,以后的每层就把上一层取反就OK了。。

构造方法不唯一的。

至于 k 为奇数时无解我无法证明这个。。。

/*
* @author ipqhjjybj
* @date 20130709
*
*/
#include <cstdio>
#include <cstdlib> int main(){
int k;
scanf("%d",&k);
if(k&1) {
puts("-1");
return 0;
}
for(int i=0;i<k;i++){
for(int j=0;j<k;j++){
for(int z=0;z<k;z++){
putchar(((j>>1)&1)^((z>>1)&1)^(i&1)?'w':'b');
}
putchar('\n');
}
putchar('\n');
}
return 0;
}

最新文章

  1. mysql的基本命令行操作
  2. java中的IO操作
  3. Android Studio使用百度地图示例BaiduMapsApiASDemo
  4. Eclipse引入外部Jar在发布时没有自动带入,导致出现ClassNoFound错误
  5. OpenJudge 7624 山区建小学
  6. Android实例-打电话、发短信和邮件,取得手机IMEI号(XE8+小米2)
  7. PuTTY?Bash?Out了!!!终端应该这么玩~
  8. netCDF
  9. 2012年的MBP准备升级
  10. cookie、session、sessionid的区别
  11. Linux下ifort的安装记录
  12. Java内存区域与对象创建过程
  13. 【转】千万不要在JS中使用连等赋值操作
  14. 雪碧图和如何实现浏览器中title的小图标
  15. 自定义Wed框架
  16. [python]UnicodeEncodeError: &#39;gbk&#39; codec can&#39;t encode character &#39;\ufffd&#39;
  17. C# 反射和Type类
  18. Eclipse 在Debug调试中用到的快捷键
  19. QPS 机器计算公式
  20. zabbix监控日志文件

热门文章

  1. Oracle Autonomous Transactions(自治事务)
  2. 关于Android配色 自适应颜色的实现
  3. Lucene.Net 2.3.1开发介绍 —— 三、索引(七)
  4. 无法安装vmware tools的解决方PLEASE WAIT! VMware Tools is currently being installed on your system. Dependin
  5. spring-framework-3.2.4.RELEASE 综合hibernate-release-4.3.5.Final一个错误Caused by: java.lang.NoClassDefFound
  6. Android资源管理框架(Asset Manager)简介和学习计划
  7. [Windows Phone学习笔记]UserControl的使用
  8. 去掉chrome记住密码后自动填充表单的黄色背景
  9. ZOJ 1654 二分匹配基础题
  10. csdn肿么了,这两天写的博文都是待审核