这题有点类似LIS,由于颜色最多100种,所以只需建立一个100的数组,按对立面的关系以某种颜色为向上面的最大值就可以了。
 
 #include <iostream>
#include <cstdio>
#include <cstring>
using namespace std; int cube[][];
int max_col[];
int tmp_col[];
struct{
int p;
int wh;
} pre[][]; struct c{
int p;
int wh;
}st_col[],tmp_st[];
int ans,ansc,answ; int main(){
int n; int T=;
while(scanf("%d",&n),n){
for(int i=;i<=;i++)
st_col[i].p=st_col[i].wh=-;
T++;
if(T>) printf("\n");
ans=answ=ansc=-;
memset(max_col,,sizeof(max_col));
for(int i=;i<=n;i++){
for(int j=;j<=;j++)
scanf("%d",&cube[i][j]);
}
for(int i=n;i>=;i--){
for(int j=;j<=;j++){
tmp_col[cube[i][j]]=max_col[cube[i][j]];
tmp_st[cube[i][j]]=st_col[cube[i][j]];
}
for(int k=;k<=;k++){
if(k%){
if(tmp_col[cube[i][k]]+>max_col[cube[i][k+]]){
max_col[cube[i][k+]]=tmp_col[cube[i][k]]+;
if(ans<max_col[cube[i][k+]]){
ans=max_col[cube[i][k+]];
ansc=i;
answ=k+;
}
pre[i][k+].p=tmp_st[cube[i][k]].p;
pre[i][k+].wh=tmp_st[cube[i][k]].wh;
st_col[cube[i][k+]].p=i;
st_col[cube[i][k+]].wh=k+;
}
}
else{
if(tmp_col[cube[i][k]]+>max_col[cube[i][k-]]){
max_col[cube[i][k-]]=tmp_col[cube[i][k]]+;
if(ans<max_col[cube[i][k-]]){
ans=max_col[cube[i][k-]];
ansc=i;
answ=k-;
}
pre[i][k-].p=tmp_st[cube[i][k]].p;
pre[i][k-].wh=tmp_st[cube[i][k]].wh;
st_col[cube[i][k-]].p=i;
st_col[cube[i][k-]].wh=k-;
}
}
}
}
printf("Case #%d\n",T);
printf("%d\n",ans);
int p=ansc,pw=answ;
while(p!=-){
printf("%d ",p);
if(pw==){
printf("front\n");
}
if(pw==) printf("back\n");
if(pw==) printf("left\n");
if(pw==) printf("right\n");
if(pw==) printf("top\n");
if(pw==) printf("bottom\n");
int tp=p,tw=pw;
p=pre[tp][tw].p;
pw=pre[tp][tw].wh;
}
}
return ;
}

UVa Problem 10051的更多相关文章

  1. 【转】UVa Problem 100 The 3n+1 problem (3n+1 问题)——(离线计算)

    // The 3n+1 problem (3n+1 问题) // PC/UVa IDs: 110101/100, Popularity: A, Success rate: low Level: 1 / ...

  2. UVA Problem B: Fire!

    Problem B: Fire! Joe works in a maze. Unfortunately, portions of the maze have caught on fire, and t ...

  3. UVa Problem 10132 File Fragmentation (文件还原) 排列组合+暴力

    题目说每个相同文件(01串)都被撕裂成两部分,要求拼凑成原来的样子,如果有多种可能输出一种. 我标题写着排列组合,其实不是什么高深的数学题,只要把最长的那几个和最短的那几个凑一起,然后去用其他几个验证 ...

  4. UVa Problem 100 The 3n+1 problem (3n+1 问题)

    参考:https://blog.csdn.net/metaphysis/article/details/6431937 #include <iostream> #include <c ...

  5. [题解]UVa 11082 Matrix Decompressing

    开始眨眼一看怎么也不像是网络流的一道题,再怎么看也觉得像是搜索.不过虽然这道题数据范围很小,但也不至于搜索也是可以随随便便就可以过的.(不过这道题应该是special judge,因为一题可以多解而且 ...

  6. [题解]UVa 10891 Game of Sum

    在游戏的任何时刻剩余的都是1 - n中的一个连续子序列.所以可以用dp[i][j]表示在第i个数到第j个数中取数,先手的玩家得到的最大的分值.因为两个人都很聪明,所以等于自己和自己下.基本上每次就都是 ...

  7. [题解]UVa 10635 Prince and Princess

    讲一下题目大意,就是有两个长度为p + 1和q + 1的序列,求它们的LCS. 如果用O(pq)的算法对于这道题来说还是太慢了.所以要另外想一些方法.注意到序列中的所有元素都不相同,所以两个序列中数对 ...

  8. UVa 11019 Matrix Matcher - Hash

    题目传送门 快速的vjudge传送门 快速的UVa传送门 题目大意 给定两个矩阵S和T,问T在S中出现了多少次. 不会AC自动机做法. 考虑一维的字符串Hash怎么做. 对于一个长度为$l$的字符串$ ...

  9. UVa 11997 K Smallest Sums - 优先队列

    题目大意 有k个长度为k的数组,从每个数组中选出1个数,再把这k个数进行求和,问在所有的这些和中,最小的前k个和. 考虑将前i个数组合并,保留前k个和.然后考虑将第(i + 1)个数组和它合并,保留前 ...

随机推荐

  1. EOJ 1501/UVa The Blocks Problem

    Many areas of Computer Science use simple, abstract domains for both analytical and empirical studie ...

  2. Wall(凸包)

    http://poj.org/problem?id=1113 题意:给出一些点的坐标,和一个半径r,求出这些点围成的凸包的周长再加上一个半径为r的圆的周长. #include <stdio.h& ...

  3. Appium + python - online-install-apk

    import osfrom appium import webdriver# 安装app,为了方便,把app放到当前脚本同一目录os.system("adb install sina.apk ...

  4. NSLayoutConstraints加动画来改变约束

    // // ViewController.m // NSLayoutAnimationDemo // // Created by ebaotong on 15/7/22. // Copyright ( ...

  5. 【转】国外程序员整理的 PHP 资源大全

      iadoz 在 Github 发起维护的一个 PHP 资源列表,内容包括:库.框架.模板.安全.代码分析.日志.第三方库.配置工具.Web 工具.书籍.电子书.经典博文等等. 依赖管理 依赖和包管 ...

  6. 2星|《工业X.0》:物联网的资料汇编

    工业X.0:实现工业领域数字价值 看完比较失望,没有看到新的观点想法.基本算是物联网的资料汇编.总体评价2星. 以下是书中一些内容的摘抄: 1:例如,埃森哲为其员工开发了一个用例,用增强现实技术解决实 ...

  7. 图像局部显著性—点特征(GLOH)

    基于古老的Marr视觉理论,视觉识别和场景重建的基础即第一阶段为局部显著性探测.探测到的主要特征为直觉上可刺激底层视觉的局部显著性--特征点.特征线.特征块. 相关介绍:局部特征显著性-点特征(SIF ...

  8. ui界面设计

    UI即User Interface(用户界面)的简称,指对软件的人机交互.操作逻辑.界面美观的整体设计.好的UI设计不仅是让软件变得有个性有品位,还要让软件的操作变得舒适简单.自由,充分体现软件的定位 ...

  9. 数据迁移 Migration

  10. Vue 爬坑之路—— 使用 Vuex + axios 发送请求

    Vue 原本有一个官方推荐的 ajax 插件 vue-resource,但是自从 Vue 更新到 2.0 之后,官方就不再更新 vue-resource 目前主流的 Vue 项目,都选择 axios  ...