博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
cf 323A A. Black-and-White Cube 立体构造 不知道为什么当k为奇数时构造不出来 挺有趣的题目吧...
阅读量:7027 次
发布时间:2019-06-28

本文共 1899 字,大约阅读时间需要 6 分钟。

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 firstk lines, showing how the first layer of the cube should be painted. In the followingk lines print ak × 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
bbwwbbww

题目意思,输出一个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 
#include
int main(){ int k; scanf("%d",&k); if(k&1) { puts("-1"); return 0; } for(int i=0;i
>1)&1)^((z>>1)&1)^(i&1)?'w':'b'); } putchar('\n'); } putchar('\n'); } return 0;}

 

 

转载地址:http://sklxl.baihongyu.com/

你可能感兴趣的文章
设计模式: Java中的工厂设计模式
查看>>
无缝轮播的实现思路
查看>>
小程序的学习
查看>>
framework插件化技术-类加载
查看>>
Spring工作原理及流程
查看>>
解决1px的border在移动端变粗的问题
查看>>
InterviewMap —— Javascript (二)
查看>>
js数组操作
查看>>
比特币重回4000美元的关口
查看>>
传统短视频直播平台和新兴一对一交友源码力与美的结合
查看>>
撩课大前端-面试宝典-第七篇
查看>>
开源大数据周刊-第3期
查看>>
java版 b2b2c o2o电子商务云商平台spring cloud+springmvc+mybatis
查看>>
区块链100讲:Hyperledger Fabric 区块链多机部署
查看>>
重学前端学习笔记(十九)--JavaScript中的函数
查看>>
SpringBoot2.1版本的个人应用开发框架 - 整合vue实现前后端分离
查看>>
Rxjava2源码分析之线程切换(subscribeOn、observeOn)
查看>>
SpringBoot整合Mybatis
查看>>
KNN分类器-Java实现
查看>>
从事iOS研发6年的面经——希望对你们有帮助,程序员必看!
查看>>