这题说的给了 一 个 图,每次 按照他给的顺序 跳格子 给了 每种 格子之间的 转换 代价 求最后 转换代价

dp[i][j] 表示 左脚在i 右脚 在j 的最小代价 然后用滚动数组 ,就可以不断说的转化,然后固定一个 另一个变换

dp[n][i]  dp[i][n]

#include <iostream>
#include <algorithm>
#include <string.h>
#include <cstdio>
using namespace std;
typedef long long ll;
const ll maxv=1e18;
ll dp[][][];
void inti(int now){
for(int i=; i<; ++i)
for(int j=; j<; ++j)
dp[now][i][j]=maxv;
}
ll cal(int a, int b)
{
if( a== || b== ) return ;
if( a == b ) return ;
int t1 = a+ ;
if( t1 > ) t1=;
if( t1 == b ) return ;
t1 = a-;
if( t1 < ) t1=;
if( t1 == b ) return ;
return ;
}
int main()
{
int n;
while(scanf("%d",&n)==&&n){
int now=;
int late=;
inti();
dp[][][n]=;
dp[][n][]=;
int per=n;
while(true){
scanf("%d",&n);
if(n==) break;
per=n;
now=-now;
late=-late;
inti(now);
for(int i=; i<; ++i)
for(int j=; j<; ++j){
if(i==j||i==n)continue;
dp[now][n][i] = min(dp[late][j][i]+cal(j,n),dp[now][n][i]);
}
for(int i=; i<; ++i)
for(int j=; j<; ++j){
if(i==j||i==n) continue;
dp[now][i][n]=min( dp[now][i][n] , dp[late][i][j]+cal(j,n) );
}
}
ll ans=maxv;
for(int i=;i< ; ++i)
ans=min(ans, min( dp[now][per][i],dp[now][i][per]));
printf("%lld\n",ans);
} return ;
}

uva1291的更多相关文章

随机推荐

  1. ionic ui框架及creator使用帮助

    UI框架使用方法:http://ionicframework.com/docs/api/ PS:路由之类的其他js代码示例建议用 官方的app 生成器弄一个简单的页面,然后下载回来看 https:// ...

  2. Python cookielib 模块

    什么是 cookie : 指某些网站为了辨别用户身份,进行 session 跟踪而储存在用户本地终端上的数据,通常以 txt 文件形式存储.比如你登录了淘宝,浏览器就会保存 cookie 信息,这样我 ...

  3. 剑指offer练习

    1.题目描述 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数.  public c ...

  4. iOS - xib中关于拖拽手势的潜在错误

    iOS开发拓展篇—xib中关于拖拽手势的潜在错误 一.错误说明 自定义一个用来封装工具条的类 搭建xib,并添加一个拖拽的手势. 主控制器的代码:加载工具条 封装工具条以及手势拖拽的监听事件 此时运行 ...

  5. go的临时对象池--sync.Pool

    作者:bigtom链接:https://www.jianshu.com/p/2bd41a8f2254來源:简书   一个sync.Pool对象就是一组临时对象的集合.Pool是协程安全的. Pool用 ...

  6. 关于layer.photos即照片显示的问题。

    在layer组件中,照片显示是不常用,今天做了一些不伤了. 在这里写出来,以备后用. 其中注意几个问题, 1.格式问题. 2.路径问题. 不同的layer有不同的格式,查看layerAPI中发现的格式 ...

  7. java反序列化漏洞的检测

    1.首先下载常用的工具ysoserial 这边提供下载地址:https://jitpack.io/com/github/frohoff/ysoserial/master-v0.0.5-gb617b7b ...

  8. 【Enterprise Architect 】

    [Enterprise Architect ]Enterprise Architect 8 key {67SC0O95-SZPS-LIG2-YQ8Q-8D2N-KWTD-0W6R-TWDD-KT6RB ...

  9. RMAN概述及其体系结构

    1 Recovery Manager(RMAN)特性 是一种用于集备份(backup).还原(restore)和恢复(recover)数据库于一体的Oracle 工具,支持命令行及图形界面操作 能够备 ...

  10. mysql数据库新插入数据,需要立即获取最新插入的id

    在MySQL中,使用auto_increment类型的id字段作为表的主键.通常的做法,是通过“select max(id) from tablename”的做法,但是显然这种做法需要考虑并发的情况, ...