UVa Problem 10051
#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的更多相关文章
- 【转】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 / ...
- UVA Problem B: Fire!
Problem B: Fire! Joe works in a maze. Unfortunately, portions of the maze have caught on fire, and t ...
- UVa Problem 10132 File Fragmentation (文件还原) 排列组合+暴力
题目说每个相同文件(01串)都被撕裂成两部分,要求拼凑成原来的样子,如果有多种可能输出一种. 我标题写着排列组合,其实不是什么高深的数学题,只要把最长的那几个和最短的那几个凑一起,然后去用其他几个验证 ...
- UVa Problem 100 The 3n+1 problem (3n+1 问题)
参考:https://blog.csdn.net/metaphysis/article/details/6431937 #include <iostream> #include <c ...
- [题解]UVa 11082 Matrix Decompressing
开始眨眼一看怎么也不像是网络流的一道题,再怎么看也觉得像是搜索.不过虽然这道题数据范围很小,但也不至于搜索也是可以随随便便就可以过的.(不过这道题应该是special judge,因为一题可以多解而且 ...
- [题解]UVa 10891 Game of Sum
在游戏的任何时刻剩余的都是1 - n中的一个连续子序列.所以可以用dp[i][j]表示在第i个数到第j个数中取数,先手的玩家得到的最大的分值.因为两个人都很聪明,所以等于自己和自己下.基本上每次就都是 ...
- [题解]UVa 10635 Prince and Princess
讲一下题目大意,就是有两个长度为p + 1和q + 1的序列,求它们的LCS. 如果用O(pq)的算法对于这道题来说还是太慢了.所以要另外想一些方法.注意到序列中的所有元素都不相同,所以两个序列中数对 ...
- UVa 11019 Matrix Matcher - Hash
题目传送门 快速的vjudge传送门 快速的UVa传送门 题目大意 给定两个矩阵S和T,问T在S中出现了多少次. 不会AC自动机做法. 考虑一维的字符串Hash怎么做. 对于一个长度为$l$的字符串$ ...
- UVa 11997 K Smallest Sums - 优先队列
题目大意 有k个长度为k的数组,从每个数组中选出1个数,再把这k个数进行求和,问在所有的这些和中,最小的前k个和. 考虑将前i个数组合并,保留前k个和.然后考虑将第(i + 1)个数组和它合并,保留前 ...
随机推荐
- bzoj 3598 [ Scoi 2014 ] 方伯伯的商场之旅 ——数位DP
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3598 数位DP...东看西看:http://www.cnblogs.com/Artanis/ ...
- Vue开发入门看这篇文章就够了
摘要: 很多值得了解的细节. 原文:Vue开发看这篇文章就够了 作者:Random Fundebug经授权转载,版权归原作者所有. 介绍 Vue 中文网 Vue github Vue.js 是一套构建 ...
- Git教程(3)git工作区与文件状态及简单示例
基础 目录: working driectory 工作目录,就是我们的工作目录,其中包括未跟踪文件及暂存区和仓库目录. staging area 暂存区,不对应一个具体目录,其实只是git di ...
- 5.20 mybatis反向生成的映射文件xml(如果需要自己定义其他sql语句时如下)
解决mybatis-generator 生成的mapper.xml覆盖自定义sql的问题 mybatis-generator是个好工具,一建即可生成基本增删改成功能的mapper.xml.但这些是不够 ...
- MySql-Connector for NET 连接驱动选择
尝试在Visual Studio2010, 2012环境下链接Mysql, 为啥不直接在App.config里面写字符串, 当然是可以,但是当你想用EF 的时候,必须要有个数据源, 首先在[服务资源管 ...
- Centos7.5 在桌面创建AndroidStudio快捷方式
Centos7 在桌面创建AndroidStudio快捷方式 前言 最近安装了Centos7,打算将开发平台转移到Linux下,安装好AndroidStudio后,桌面没有快捷方式有些不习惯,随自己创 ...
- Android ViewPager使用方法小结
android-support-v4.jar 是谷歌提供给我们的一个兼容低版本安卓设备的软件包,里面包囊了只有在 Android 3.0 以上可用的API.而 ViewPager 就是其中之一.利用它 ...
- Yoga710笔记本Win10和Ubuntu系统共存
联想yoga710默认安装了win10系统,且使用EFI分区格式,安装Ubuntu不是一般的困难,经公司小哥的帮助下,几次终于完成了Ubuntu和Win10 共存. 经过多次安装测试,暂时能运行成功的 ...
- HDU_5833_高斯消元
参考自:http://www.cnblogs.com/flipped/p/5771492.html 自己做的时候不知道如何求种数.看了题解,感觉思路灰常巧妙.同时也感觉这是一道好题. 精髓在于转化为线 ...
- HDU_1269_tarjan求强连通分量
迷宫城堡 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ...