1030 - Image Is Everything (贪心)
来源:互联网 发布:windows系统开发语言 编辑:程序博客网 时间:2024/06/06 08:38
Your new company is building a robot that can hold small lightweight objects. The robot will have the intelligence to determine if an object is light enough to hold. It does this by taking pictures of the object from the 6 cardinal directions, and then inferring an upper limit on the object's weight based on those images. You must write a program to do that for the robot.
You can assume that each object is formed from an N×N×N lattice of cubes, some of which may be missing. Each 1×1×1 cube weighs 1 gram, and each cube is painted a single solid color. The object is not necessarily connected.
Input
The input for this problem consists of several test cases representing different objects. Every case begins with a line containing N, which is the size of the object ( 1N10). The next N lines are the different N×N views of the object, in the order front, left, back, right, top, bottom. Each view will be separated by a single space from the view that follows it. The bottom edge of the top view corresponds to the top edge of the front view. Similarly, the top edge of the bottom view corresponds to the bottom edge of the front view. In each view, colors are represented by single, unique capital letters, while a period (.) indicates that the object can be seen through at that location.Input for the last test case is followed by a line consisting of the number 0.
Output
For each test case, print a line containing the maximum possible weight of the object, using the format shown below.Sample Input
3.R. YYR .Y. RYY .Y. .R.GRB YGR BYG RBY GYB GRB.R. YRR .Y. RRY .R. .Y.2ZZ ZZ ZZ ZZ ZZ ZZZZ ZZ ZZ ZZ ZZ ZZ0
Sample Output
Maximum weight: 11 gram(s)Maximum weight: 8 gram(s)
题意:给定立方体的几个视图的颜色。 '.'代表能看穿,求立方体最多几块。
思路:有'.'的那一行肯定能穿过去。但是还不够,如果两个方向看过去的颜色不一样。当前那块肯定要删掉。按照这样删到不能删为止。就是最重的。
代码:
#include <stdio.h>#include <string.h>const int N = 10;int n, x, y, z;char view[N][6][N], res[N][N][N];void tra(int i, int j, int k, int l) { if (j == 0) {x = i; y = k; z = l;} if (j == 1) {x = i, y = l; z = n - 1 - k;} if (j == 2) {x = i; y = n - 1 - k; z = n - 1 - l;} if (j == 3) {x = i; y = n - 1 - l; z = k;} if (j == 4) {x = l; y = k; z = n - 1 - i;} if (j == 5) {x = n - 1 - l; y = k; z = i;}}void init() { for (int i = 0; i < n; i ++)for (int j = 0; j < n; j ++) for (int k = 0; k < n; k ++)res[i][j][k] = '#'; for (int i = 0; i < n; i ++)for (int j = 0; j < 6; j ++) { for (int k = 0; k < n; k ++) {scanf("%c", &view[i][j][k]);if (view[i][j][k] == '.') { for (int l = 0; l < n; l ++) {tra(i, j, k, l);res[x][y][z] = '.'; }} } getchar();}}int solve() { while (1) {int flag = true;for (int i = 0; i < n; i ++) for (int j = 0; j < 6; j ++)for (int k = 0; k < n; k ++) { if (view[i][j][k] != '.') {for (int l = 0; l < n; l ++) { tra(i, j, k, l); if (res[x][y][z] == '.') continue; if (res[x][y][z] == '#')res[x][y][z] = view[i][j][k]; if (res[x][y][z] == view[i][j][k]) break; res[x][y][z] = '.'; flag = false;} }}if (flag) break; } int ans = 0; for (int i = 0; i < n; i ++)for (int j = 0; j < n; j ++) for (int k = 0; k < n; k ++)if (res[i][j][k] != '.') ans ++; return ans;}int main() { while (~scanf("%d%*c", &n) && n) {init();printf("Maximum weight: %d gram(s)\n", solve()); } return 0;}
- 1030 - Image Is Everything (贪心)
- UVA 1030 - Image Is Everything(贪心枚举)
- 1030 - Image Is Everything
- UVaLive 2995 Image Is Everything (贪心+模拟)
- Uva-1030-Image Is Everything
- Uva 1030 - Image Is Everything
- UVA 1030 Image Is Everything
- UVA-1030-Image Is Everything
- uvaoj 1030 - Image Is Everything
- UVA 1030 Image Is Everything
- Uva 1030 Image Is Everything
- uva 1030 - Image Is Everything(乱搞)
- Image Is Everything
- Image Is Everything
- LA2995- Image Is Everything
- uva1030 Image Is Everything
- Image Is Everything UVALive
- Image Is Everything(立方体成像)
- iOS:UITextField中键盘的关闭
- 写给自己新的技术起点的我
- 机房收费系统———SQL注入问题
- sql置顶固定的某一条数据
- 打印服务器返回的错误json
- 1030 - Image Is Everything (贪心)
- gcc和g++区别
- unity3D发布webplayer,在webplayer中打开新的标签页
- 混互联网圈的5大潜规则!
- 约瑟夫josephu算法
- Matlab绘图-很详细,很全面
- Ubuntu安装java(仅用于备忘)
- jdk1.5新特性 I
- 2012年国家自然科学基金中标项目:云计算相关方向