习题4-4 骰子涂色 UVa253
来源:互联网 发布:mindmap for mac破解 编辑:程序博客网 时间:2024/06/05 08:10
习题4-4骰子涂色 UVa253
感悟。
1、阅读书中题目,从网站下载英文原题,重点在看输入输出数据与格式。
2、位置摆在1位置的面有6种可能,位置摆在2位置的面有4种可能,共计24种可能。
3、第一种思路,将24种可能枚举列出。
4、第二种思路,找规律,将24种可能用程序算出。
5、不管用哪种思路,先对1摆在1位置的6种可能进行枚举,还真找到了点规律。
6、对面之和为7,只要前三个面序号知道,另三个面就可以算出。
7、1-6对面,2-5对面,3-4对面。
8、再针对2位置的4种可能进行枚举,格式如下:
1位置 俯视顺时针
1 2 3 5 4
2 1 4 6 3
3 1 2 6 5
4 1 5 6 2
5 1 3 6 4
6 2 4 5 3
9、有了思路后,编码很快,稍作调试,通过样例。提交AC,当天搞定,此题就难度而言,相比前几道,可定义为水题。
附上AC代码,运行环境Dev-C++4.9.9.2
#include <stdio.h>
#include <string.h>
char figure[30][10];
void printb(){
int i,j;
for(i=1;i<=24;i++){
for(j=1;j<=6;j++){
printf("%c",figure[i][j]);
}
printf("\n");
}
}
int main(){
char source[20];
char a[10],b[10];
int i,j,k;
char second[10][10]={"","2354","1463","1265","1562","1364","2453"};
int rcount,ccount;
int pos;
int find;
while(scanf("%s",source)!=EOF){
for(i=1;i<=6;i++){
a[i]=source[i-1];
b[i]=source[i-1+6];
}
rcount=0;
for(i=1;i<=6;i++){//位置1面有6种可能
for(j=0;j<4;j++){//位置2面有4种可能
ccount=0;
rcount++;
ccount++;
figure[rcount][ccount]=b[i];//1面
figure[rcount][6]=b[7-i];//6面
ccount++;
pos=second[i][j]-'0';
figure[rcount][ccount]=b[pos];//2面
figure[rcount][7-ccount]=b[7-pos];//5面
ccount++;
pos=second[i][(j+1)%4]-'0';
figure[rcount][ccount]=b[pos];//3面
figure[rcount][7-ccount]=b[7-pos];//4面
}
}
find=0;
for(i=1;i<=24;i++){
for(j=1;j<=6;j++){
if(figure[i][j]!=a[j])
break;
}
if(j==7){
find=1;
break;
}
}
//printb();
if(find==1){
printf("TRUE\n");
}else{
printf("FALSE\n");
}
}
return 0;
}
- 习题4-4 骰子涂色 UVa253
- 习题4-4 骰子涂色 UVa253
- 算法竞赛入门经典(第2版)习题4-4 骰子涂色UVa253
- 算法竞赛入门经典 第二版 习题4-4 骰子涂色 Cube painting uva253
- 算法竞赛入门经典(第2版)习题4-4 骰子涂色 Uva253
- 习题4-4 骰子涂色
- UVa253骰子涂色
- uva253 骰子涂色
- 习题 4-4 骰子涂色(Cubepainting,UVa 253)
- UVA253——骰子涂色(Cube painting)
- UVa253--Cube painting--骰子涂色--重在算法思想
- 算法竞赛入门经典(第2版)习题4-4 骰子涂色 Cube painting UVa 253
- UVa253 Cube painting(骰子涂色)(27行,比较简洁的样子)
- uva253Cube painting骰子涂色
- 骰子涂色(Cube painting)
- UVA-253-骰子涂色
- UVa 253 Cube painting(骰子涂色)
- UVA - 253 Cube painting(骰子涂色)
- JAVA Random类 (java.util)
- Android上运行C程序
- WIFI基本知识整理
- iOS的runtime浅析
- 如何解决移动硬盘打不开的问题
- 习题4-4 骰子涂色 UVa253
- 多功能弹框
- no accounts with itunes connect access问题排查解决
- 文件上传结合springmvc至阿里云的oss
- 给Beyond Compare设置图片翻转的方法
- ios开发——使用CALayer和Core Animation做动画效果
- C++IO流:你不知道的事(二)
- 洛谷2296 寻找道路
- Unity手游之路<十三>手游代码更新策略探讨