博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UVA1030 Image Is Everything
阅读量:6714 次
发布时间:2019-06-25

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

思路

如果两个面看到颜色不同,则这个正方体一定要被删掉

然后依次考虑每个面即可
注意坐标的映射

代码

#include 
#include
#include
using namespace std;char see[20][20][20],mat[20][20][20],n;void get(int pos,int i,int j,int k,int &x,int &y,int &z){ if(pos==1){ x=k; y=j; z=i; } else if(pos==2){ x=n-j+1; y=k; z=i; } else if(pos==3){ x=n-k+1; y=n-j+1; z=i; } else if(pos==4){ x=j; y=n-k+1; z=i; } else if(pos==5){ x=n-i+1; y=j; z=k; } else{ x=i; y=j; z=n-k+1; }}char get_nxt(void){ char c=getchar(); while(c==' '||c=='\n'||c=='\r'||c=='\0') c=getchar(); return c;}int main(){ while(scanf("%d",&n)==1&&n){ memset(see,0,sizeof(see)); memset(mat,0,sizeof(mat)); for(int i=1;i<=n;i++){ for(int j=1;j<=6;j++) for(int k=1;k<=n;k++) see[j][i][k]=get_nxt(); } for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) for(int k=1;k<=n;k++) mat[i][j][k]='#'; for(int i=1;i<=6;i++) for(int j=1;j<=n;j++) for(int k=1;k<=n;k++) if(see[i][j][k]=='.') for(int p=1;p<=n;p++){ int x,y,z; get(i,j,k,p,x,y,z); mat[x][y][z]='.'; } while(1){ int isok=true; for(int i=1;i<=6;i++) for(int j=1;j<=n;j++) for(int k=1;k<=n;k++) if(see[i][j][k]!='.') for(int p=1;p<=n;p++){ int x,y,z; get(i,j,k,p,x,y,z); if(mat[x][y][z]=='.') continue; if(mat[x][y][z]=='#'){ mat[x][y][z]=see[i][j][k]; break; } if(mat[x][y][z]==see[i][j][k]) break; mat[x][y][z]='.'; isok=false; } if(isok) break; } int ans=0; for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) for(int k=1;k<=n;k++) if(mat[i][j][k]!='.') ans++; printf("Maximum weight: %d gram(s)\n",ans); } return 0;}

转载于:https://www.cnblogs.com/dreagonm/p/10715747.html

你可能感兴趣的文章
java.util.concurrent.locks.LockSupport
查看>>
红帽加入 Node.js 基金会白金会员
查看>>
《OpenGL编程指南》一2.7 独立的着色器对象
查看>>
Ionic 3.4.2 发布,漂亮的 HTML5 移动应用框架
查看>>
Linux Kernel 4.9-rc8,4.9 分支最后一个候选版
查看>>
想开发 Android 分支?没门!
查看>>
《Web异步与实时交互——iframe AJAX WebSocket开发实战》—— 2.2 相关关键技术及工作原理...
查看>>
《Nmap渗透测试指南》—第1章1.5节Mac OS安
查看>>
重磅,企业实施大数据的路径
查看>>
linux之cp/scp命令+scp命令详解
查看>>
Spark 源码分析 -- BlockStore
查看>>
《C语言编程初学者指南》一1.7 创建并运行第一个C程序
查看>>
学习和使用 PHP 应该注意的10件事
查看>>
《Ember.js实战》——2.5 Ember.js对象模型
查看>>
《响应式Web图形设计》一第13章 响应Web设计中的图像
查看>>
shiro session 监听
查看>>
定时任务框架Quartz的新玩法
查看>>
段前缀的使用(0504)
查看>>
.NET Framework 源码
查看>>
开源大数据周刊-第6期
查看>>