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

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. CMS3.0——初次邂逅express

    前言: 刚接手cms3.0的工作,似乎对一切都那么的不熟悉,于是在开始新需求之前,先做一个简单的登录系统. 项目目录: 1.使用webstroms建expreess项目,非常方便简单,建好的项目目录就 ...

  2. XML 和 JSON 的使用场景

    我们都知道 JSON 和 XML 设计的初衷里都包含一点是对人类友好, 所以两者在这方面属于竞争关系. 而在 UI 描述上, 我觉得 XML 是比 JSON 要优异很多. 我们先来看一组简单的数据排版 ...

  3. 使用boch仿真器在x86 PC平台上搭建Linux0.11系统环境(windows下)

    当你有机会来到这页面时   十有八九是遇到这样一个问题    执行配置文件bochsrc_fd.bxrc时出现找不到 ips的情况! 版本原因吧   将boch版本换成2.4的问题就迎刃而解了~ 简单 ...

  4. webpack打包jquery并引用

    一,引入webpack插件 //打包第三方 const CommonsChunkPlugin = require("webpack/lib/optimize/CommonsChunkPlug ...

  5. Sublime Less 自动编译成css

    1.note编译 .下载notejs https://nodejs.org/en/ .首先你要安装lessc.我是用npm包管理器直接安装的,只需要一条命令,如下: npm install less ...

  6. salt-ssh的批量脚本及使用方法

    author: headsen   chen date : 2018-08-02   20:06:06 1,salt-ssh的安装: yum -y install epel-release yum - ...

  7. 音频的录制和播放功能(audio) ---- HTML5+

    模块:audio Audio模块用于提供音频的录制和播放功能,可调用系统的麦克风设备进行录音操作,也可调用系统的扬声器设备播放音频文件.通过plus.audio获取音频管理对象. 应用场景:音频录制, ...

  8. jps命令用法

    jps是jdk提供的一个查看当前java进程的小工具, 可以看做是JavaVirtual Machine Process Status Tool的缩写.非常简单实用. 命令格式:jps [option ...

  9. 基于JDK1.8的LinkedList源码学习笔记

    LinkedList作为一种常用的List,是除了ArrayList之外最有用的List.其同样实现了List接口,但是除此之外它同样实现了Deque接口,而Deque是一个双端队列接口,其继承自Qu ...

  10. 洛谷P3809 后缀排序【后缀数组】【模板】

    题目背景 这是一道模板题. 题目描述 读入一个长度为 nn 的由大小写英文字母或数字组成的字符串,请把这个字符串的所有非空后缀按字典序从小到大排序,然后按顺序输出后缀的第一个字符在原串中的位置.位置编 ...