蓝书P12

#include <cstdio>
#include <cstring>
#include <cmath>
#include <algorithm>
using namespace std;
#define REP(i,n) for(int i=0;i<(n);i++)
const int maxn = ;
int n;
char pos[maxn][maxn][maxn];
char view[][maxn][maxn];
char read_cahr(){
char ch;
for(;;){
ch=getchar();
if((ch>='A'&&ch<='Z')||ch=='.') return ch;
}
}
void get(int k,int i,int j,int len,int &x,int &y,int &z){
if(k==){ x=len; y=j; z=i;}
if(k==){ x=n--j; y=len; z=i;}
if(k==){ x=n--len; y=n-j-; z=i;}
if(k==){ x=j; y=n--len; z=i;}
if(k==){ x=n-i-; y=j; z=len;}
if(k==){ x=i; y=j; z=n--len;}
}
int main(){
while(scanf("%d",&n)==&&n){
REP(i,n) REP(k,) REP(j,n) view[k][i][j]=read_cahr();
REP(i,n) REP(j,n) REP(k,n) pos[i][j][k]='#';
REP(k,) REP(i,n) REP(j,n) if(view[k][i][j]=='.')
REP(p,n){
int x,y,z;
get(k,i,j,p,x,y,z);
pos[x][y][z]='.';
}
for(;;){
bool done=true;
REP(k,) REP(i,n) REP(j,n) if(view[k][i][j]!='.'){
REP(p,n){
int x,y,z;
get(k,i,j,p,x,y,z);
if(pos[x][y][z]=='.') continue;
if(pos[x][y][z]=='#'){
pos[x][y][z]=view[k][i][j];
break;
}
if(pos[x][y][z]==view[k][i][j]) break;
pos[x][y][z]='.';
done=false;
}
}
if(done) break;
}
int ans=;
REP(i,n) REP(j,n) REP(k,n)
if(pos[i][j][k]!='.') ans++;
printf("Maximum weight: %d gram(s)\n",ans);
}
return ;
}

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. Leecode刷题之旅-C语言/python-101对称二叉树

    /* * @lc app=leetcode.cn id=101 lang=c * * [101] 对称二叉树 * * https://leetcode-cn.com/problems/symmetri ...

  2. 多线程编程之Apue3rd_Chapter15.10之posix信号量

    看了APUE的chapter15,只重点看了15.10,学习了posix信号量.Posix信号量比起xsi信号量的优点是性能更好,在Linux3.2.0平台上性能提升很大.其中命名信号量使用方法如下. ...

  3. HDU暑假多校第八场G-Card Game

    一.题意 给出N个卡牌,卡牌的正反两面具有两个数字,取值范围为[1,2*n],给出若干个默认正面向上的卡牌,求最小反转多少张卡牌可以使得,每张卡牌朝上的面上都有一个不同的数字,同时满足最小反转次数的反 ...

  4. List排序方法

    可用使用Collections.sort(List<T> list)和Collections.sort(List<T> list, Comparator<? super ...

  5. maven之package与install的区别

    mvn clean package 先看命令的执行过程 mvn clean install 同样先看执行过程 mvn clean package依次执行了clean.resources.compile ...

  6. Java RMI 入门指南

    开通博客也有好些天了,一直没有时间静下心来写博文,今天我就把两年前整理的一篇关于JAVA RMI入门级文章贴出来,供有这方面需要的同学们参考学习. RMI 相关知识 RMI全称是Remote Meth ...

  7. 【C#】 语法糖

    [C#] 语法糖 一, 扩展方法 1. 对某个类功能上的扩展 2. 特点: 使用方便,可以在不修改原代码的基础上进行扩展. 参照 linq,linq 就是一系列的扩展方法 3. 语法: 非泛型静态类, ...

  8. Java 图像处理框架-Marvin

    网上看到,摘录过来的,暂时还没涉足这方面的东西 Marvin 1.4.5 的插件接口支持处理多个图像作为输入,新的插件可通过多个图片来确认背景,新的插件可使用多个图片来合并相同场景. Marvin 是 ...

  9. Anytime项目开发记录2

    注册,登陆于密码找回.这是这次记录的主要内容. 首先,我们来看类图: 因为一直在改,所以与第二篇介绍项目框架时的图会有一些不一样. 代码都是非常简单的. 由于在注册和登陆这里,需要弹出一些对话框告诉用 ...

  10. ACE_Select_Reactor_T 介绍 (2)

    本章目录 ACE_Select_Reactor_T 介绍 类继承图 类协作图 类主要成员变量 事件处理函数调用图 事件处理主流程 handle_events 函数流程 handle_events_i ...