蓝书P12

  1. #include <cstdio>
  2. #include <cstring>
  3. #include <cmath>
  4. #include <algorithm>
  5. using namespace std;
  6. #define REP(i,n) for(int i=0;i<(n);i++)
  7. const int maxn = ;
  8. int n;
  9. char pos[maxn][maxn][maxn];
  10. char view[][maxn][maxn];
  11. char read_cahr(){
  12. char ch;
  13. for(;;){
  14. ch=getchar();
  15. if((ch>='A'&&ch<='Z')||ch=='.') return ch;
  16. }
  17. }
  18. void get(int k,int i,int j,int len,int &x,int &y,int &z){
  19. if(k==){ x=len; y=j; z=i;}
  20. if(k==){ x=n--j; y=len; z=i;}
  21. if(k==){ x=n--len; y=n-j-; z=i;}
  22. if(k==){ x=j; y=n--len; z=i;}
  23. if(k==){ x=n-i-; y=j; z=len;}
  24. if(k==){ x=i; y=j; z=n--len;}
  25. }
  26. int main(){
  27. while(scanf("%d",&n)==&&n){
  28. REP(i,n) REP(k,) REP(j,n) view[k][i][j]=read_cahr();
  29. REP(i,n) REP(j,n) REP(k,n) pos[i][j][k]='#';
  30. REP(k,) REP(i,n) REP(j,n) if(view[k][i][j]=='.')
  31. REP(p,n){
  32. int x,y,z;
  33. get(k,i,j,p,x,y,z);
  34. pos[x][y][z]='.';
  35. }
  36. for(;;){
  37. bool done=true;
  38. REP(k,) REP(i,n) REP(j,n) if(view[k][i][j]!='.'){
  39. REP(p,n){
  40. int x,y,z;
  41. get(k,i,j,p,x,y,z);
  42. if(pos[x][y][z]=='.') continue;
  43. if(pos[x][y][z]=='#'){
  44. pos[x][y][z]=view[k][i][j];
  45. break;
  46. }
  47. if(pos[x][y][z]==view[k][i][j]) break;
  48. pos[x][y][z]='.';
  49. done=false;
  50. }
  51. }
  52. if(done) break;
  53. }
  54. int ans=;
  55. REP(i,n) REP(j,n) REP(k,n)
  56. if(pos[i][j][k]!='.') ans++;
  57. printf("Maximum weight: %d gram(s)\n",ans);
  58. }
  59. return ;
  60. }

LA2995 Image is everything的更多相关文章

  1. Image Is Everything LA2995

    白书第一章例题6 构造.思维.几何. 分别从几个角度去看,有矛盾就删掉,最后遍历一下统计个数 方法证明:第一个方块肯定要删除.假设前k个必须删除,第k+1个矛盾出现,假如不删掉,矛盾将持续存在,故必须 ...

  2. LA 2995 Image Is Everything

    题目链接: https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show ...

随机推荐

  1. 预防跨站脚本(xss)

    对xss的防护方法结合在两点上输入和输出,一是严格控制用户表单的输入,验证所有输入数据,有效监测到攻击,go web表单中涉及到.二是对所有输出的数据进行处理,防止已成功注入的脚本在浏览器端运行. 在 ...

  2. 001---C/S架构

    C/S 架构介绍 什么是C/S架构 C:client,客户端 S:server,服务端 实现客户端和服务端之间的网络通信 什么是网络 人与人之间交流是通过语言,才能彼此理解对方的意思.但是地球上有多个 ...

  3. Python3爬虫(七) 解析库的使用之pyquery

    Infi-chu: http://www.cnblogs.com/Infi-chu/ pyquery专门针对CSS和jQuery的操作处理 1.初始化字符串初始化 from pyquery impor ...

  4. HBase 高级架构解析

    整体框架 使用 ZooKeeper 框架协助 RegionServer(类似于HDFS的nodemanager)用户请求从 Client 到 Zookeeper 进行判断数据属于哪一个 Region ...

  5. CSS3实现3d菜单翻转

    transform-style:flat | preserve-3d: 3d透视属性.针对子元素如何在3d空间相对其父元素渲染,这个属性声明在父元素上,并且他的子元素使用了transform才会有效. ...

  6. ExtJs工具篇(2)——Aptana Studio 3 汉化

    本身用的是中文版本的,但是输入一些中文后,竟然有乱码,所以就想把它汉化.在网上搜索了一下,把步骤记录如下: 首先到这个网站去 http://aptana.com/support 选择View Docu ...

  7. 活动的生命周期 Android

    1.运行程序 onCreate().onStart()和 onResume() 2.跳转到非弹框视图控制器 onPause()和 onStop() 返回上一个视图控制器(没被回收) onRestart ...

  8. 在Kotlin编写RecyclerView适配器(KAD 16)

    作者:Antonio Leiva 时间:Mar 14, 2017 原文链接:https://antonioleiva.com/recyclerview-adapter-kotlin/ 通过创建Recy ...

  9. 树莓派putty远程登录windows

    刚买树莓派的你,还在为要不要购买昂贵的屏幕而纠结吗?看完本博客学会远程登录,妈妈再也不用担心我的学习... 首先我们要知道树莓派的官方推荐系统是raspbian 很建议安装16年9月份的,其他的总是这 ...

  10. Win7系统下删除文件时出现“正在准备再循环”的解决方法

    今天,笔者在备份文件的时候,将一个word文档从移动硬盘复制到桌面.经过一系列“复(meng)杂(bi)”的操作之后,笔者突然发现,文件无法删除了.当右键文件点击“删除”时,出现对话框显示“正在准备 ...