uva253Cube painting骰子涂色
来源:互联网 发布:如何评价林彪 知乎 编辑:程序博客网 时间:2024/06/02 13:15
背景:这题我写出来发生了一个奇怪的现象,就是同样的代码,在vc6.0里面运行的好好的,但在codebloke里面却死活不对,最后费了我九牛二虎之力,我终于找到了,原来数组开小了,o(︶︿︶)o 唉。
思路:分别用两个数组模拟两个骰子,定义三个旋转函数,分别绕着xyz三个方向旋转,然后定义一个判断函数,在判断函数中用三个for循环,在循环中对骰子2进行旋转,旋转后与骰子1比较,看是否相同,判断是否相同可以直接用strcmp()函数。
学习:自顶向下程序设计方法,就是先写出程序框架,然后再去完善各个函数。
#include <stdio.h>#include <string.h>char dice1[8],dice2[8];void change1(void){ char ch; ch=dice2[0]; dice2[0]=dice2[2]; dice2[2]=dice2[5]; dice2[5]=dice2[3]; dice2[3]=ch;}void change2(void){ char ch; ch=dice2[0]; dice2[0]=dice2[1]; dice2[1]=dice2[5]; dice2[5]=dice2[4]; dice2[4]=ch;}void change3(void){ char ch; ch=dice2[1]; dice2[1]=dice2[3]; dice2[3]=dice2[4]; dice2[4]=dice2[2]; dice2[2]=ch;}int judge(void){ for(int i=0;i<4;i++) { change1(); for(int j=0;j<4;j++) { change2(); for(int k=0;k<4;k++) { change3(); if(strcmp(dice1,dice2)==0) return 1; } } } return 0;}int main(void){ while(scanf("%c",&dice1[0])==1) { for(int i=1;i<6;i++) scanf("%c",&dice1[i]); for(int j=0;j<6;j++) scanf("%c",&dice2[j]); dice1[6]='\0'; dice2[6]='\0'; puts(judge()?"TRUE":"FALSE"); getchar(); } return 0;}
0 0
- uva253Cube painting骰子涂色
- 骰子涂色(Cube painting)
- UVA253Cube painting
- UVa 253 Cube painting(骰子涂色)
- UVA - 253 Cube painting(骰子涂色)
- UVa 253 Cube painting (骰子涂色)
- UVA253——骰子涂色(Cube painting)
- UVa253--Cube painting--骰子涂色--重在算法思想
- UVa253 Cube painting(骰子涂色)(27行,比较简洁的样子)
- 算法竞赛入门经典 第二版 习题4-4 骰子涂色 Cube painting uva253
- UVa253骰子涂色
- uva253 骰子涂色
- UVA-253-骰子涂色
- 算法竞赛入门经典(第2版)习题4-4 骰子涂色 Cube painting UVa 253
- 习题4-4 骰子涂色
- UVA 253 - Cube painting(立方体涂色)
- 习题4-4 骰子涂色 UVa253
- 习题4-4 骰子涂色 UVa253
- 50个优秀手机界面设计
- (一)图片滑动组件 js+HTML5+css3
- DB2常用词汇
- 使用Leopard Cache
- 【OpenCV】图像几何变换:旋转,缩放,斜切
- uva253Cube painting骰子涂色
- Unity弹痕制作
- 获取Android地理位置的方法
- POJ 3159 Candies(spfa最短路,差分约束)
- (十一)延时执行、圆角(可实现圆形label)、代理设计模式
- uboot中 Tiny 4412和smdk 4212的一些不同
- 原理图与PCB设计基础
- unity3d引用android第三方sdk
- hdu4340 树形dp