题目链接:http://codeforces.com/problemset/problem/323/A

题目意思:给定值 k ,需要输出 k 个 k 行 k 列的单位立方体各表示什么颜色(或者是黑色或者是白色)。需要满足的条件是:如果是白色的单位立方体,那么它有且仅有2个白色的相邻单位立方体;如果是黑色的单位立方体,那么它有且仅有2个黑色的相邻单位立方体。要是给出的k不能构成满足这些条件的立方体,输出-1.

在纸上尝试过用次小的奇数 3 来模拟,发现无论如何都不能满足条件,于是大胆地猜测k是奇数的话是不行的。至于证明就...无能为力啊~希望会的读者能够指点迷津,不胜感激。

而偶数的话,为了简单起见,姑且用 k = 4 来说:

第 1 块和第 2 块:

至于第3块和第4块是和前面的两块是相同的。当然1,2块可以交换,但此时3,4块也要交换。至于其他的6,8,....2n都可以这样推。反正对于每一行,如果第1,2列输出的是 b ,那么下次的第5,6列页数输出 b。也就是说会相隔2个空格(这2个空格当然就是输出w了)。

本人觉得这样的解决方法比较简单,不必费太多的脑筋。读者如果有什么更好的办法,欢迎多多交流。

 #include <iostream>
#include <cstdio>
#include <cstdlib>
using namespace std; int main()
{
int k, i, j, l;
while (scanf("%d", &k) != EOF)
{
if (k & )
puts("-1");
else
{
for (l = ; l <= k; l++) // 个
{
if (l & )
{
for (i = ; i <= k; i++) // 行
{
for (j = ; j <= k/; j++) // 列
{
if (j & && (i % == || i % == ))
printf("bb");
else if (!(j & ) && (i % == || i % == ))
printf("ww");
else if (j & && !(i % == || i % == ))
printf("ww");
else
printf("bb");
}
printf("\n");
}
}
else
{
for (i = ; i <= k; i++) // 行
{
for (j = ; j <= k/; j++) // 列
{
if (j & && (i % == || i % == ))
printf("ww");
else if (!(j & ) && (i % == || i % == ))
printf("bb");
else if (j & && !(i % == || i % == ))
printf("bb");
else
printf("ww");
}
printf("\n");
}
}
printf("\n");
}
}
}
return ;
}

codeforces A. Black-and-White Cube 解题报告的更多相关文章

  1. codeforces C1. The Great Julya Calendar 解题报告

    题目链接:http://codeforces.com/problemset/problem/331/C1 这是第一次参加codeforces比赛(ABBYY Cup 3.0 - Finals (onl ...

  2. codeforces B. Eugeny and Play List 解题报告

    题目链接:http://codeforces.com/problemset/problem/302/B 题目意思:给出两个整数n和m,接下来n行给出n首歌分别的奏唱时间和听的次数,紧跟着给出m个时刻, ...

  3. codeforces 433C. Ryouko's Memory Note 解题报告

    题目链接:http://codeforces.com/problemset/problem/433/C 题目意思:一本书有 n 页,每页的编号依次从 1 到 n 编排.如果从页 x 翻到页 y,那么| ...

  4. codeforces 556B. Case of Fake Numbers 解题报告

    题目链接:http://codeforces.com/problemset/problem/556/B 题目意思:给出 n 个齿轮,每个齿轮有 n 个 teeth,逆时针排列,编号为0 ~ n-1.每 ...

  5. codeforces 510B. Fox And Two Dots 解题报告

    题目链接:http://codeforces.com/problemset/problem/510/B 题目意思:给出 n 行 m 列只有大写字母组成的字符串.问具有相同字母的能否组成一个环. 很容易 ...

  6. codeforces 505A. Mr. Kitayuta's Gift 解题报告

    题目链接:http://codeforces.com/problemset/problem/505/A 题目意思:给出一个长度不大于10的小写英文字符串 s,问是否能通过在字符串的某个位置插入一个字母 ...

  7. codeforces 499A.Inna and Pink Pony 解题报告

    题目链接:http://codeforces.com/problemset/problem/499/A 题目意思:有两种按钮:1.如果当前观看的时间是 t,player 可以自动处理下一分钟,姑且理解 ...

  8. codeforces 374A Inna and Pink Pony 解题报告

    题目链接:http://codeforces.com/problemset/problem/374/A 题目意思:给出一个 n 行  m 列 的棋盘,要将放置在坐标点为(i, j)的 candy 移动 ...

  9. codeforces 471B. MUH and Important Things 解题报告

    题目链接:http://codeforces.com/problemset/problem/471/B 题目意思:有 n 个 tasks,编号依次为 1 - n,每个 task 都有一定的难度值来评估 ...

随机推荐

  1. JRoll 2 使用文档(史上最强大的下拉刷新,滚动,无限加载插件)

    概述 说明 JRoll,一款能滚起上万条数据,具有滑动加速.回弹.缩放.滚动条.滑动事件等功能,兼容CommonJS/AMD/CMD模块规范,开源,免费的轻量级html5滚动插件. JRoll第二版是 ...

  2. 邁向IT專家成功之路的三十則鐵律 鐵律十三:IT人理財之道-知足

    身為一位專業的IT人士,工作上不僅要做到滿足興趣與專業熱忱,當然也要做到能夠滿足荷包.現代人賺錢不是問題,但花錢卻出了很大問題,親愛的IT朋友們,請不要將您辛苦賺來的錢花在想要的東西上,實際上需要的卻 ...

  3. Android中使用SDcard进行文件的读取

    来自:http://www.cnblogs.com/greatverve/archive/2012/01/13/android-SDcard.html 平时我们需要在手机上面存储想音频,视频等等的大文 ...

  4. 【postman】postman测试API报错如下:TypeError: Failed to execute 'fetch' on 'Window': Invalid value 对中文支持不好

    使用postman测试APi的时候,因为系统需要在header部带上登录用户的信息,所以 如下: 然后测试报错如下:TypeError: Failed to execute 'fetch' on 'W ...

  5. 【Linxu】CentOS7下安装程序报错:

    进入root用户,然后编辑 vi /usr/libexec/urlgrabber-ext-down 将首行换成 #!/usr/bin/python2.

  6. 【转载】Spark学习——入门

    要学习分布式以及数据分析.机器学习之类的,觉得可以通过一些实际的编码项目入手.最近Spark很火,也有不少招聘需要Spark,而且与传统的Hadoop相比,Spark貌似有一些优势.所以就以Spark ...

  7. Linux 软件大全

    应用 音频 Airtime - Airtime 是一款用于调度和远程站点管理的开放广播软件   Ardour - 在 Linux 上录音,编辑,和混音  Audacious - 开源音频播放器,按你想 ...

  8. jstl的函数

    <%@ taglib prefix="c"  uri="http://java.sun.com/jsp/jstl/core"%><%@ tag ...

  9. LNMPA遇到504 Gateway time-out错误的解决方法

    Nginx的特点是处理静态很给力,Apache的特点是处理动态很稳定,两者结合起来便是LNMPA,nginx处理前端,apache处理后端,这样处理静态会很快,处理动态会很稳定. 当我以为安装完成以后 ...

  10. [Codevs 1230]元素查找(手写哈希表)

    题目连接:http://codevs.cn/problem/1230/ 说白了就是要我们自己手写一个哈希表的数据结构来实现加入和查找功能.map也能直接过(我第一次写就是用map骗AC的) 提一下个人 ...