cf984e Elevator
2024-09-07 05:40:35
ref我好菜啊
#include <iostream>
#include <cstring>
#include <cstdio>
#include <cmath>
using namespace std;
int n, u[2005], v[2005], f[2005][11][11][11][11];
int dis(int x, int y){
return abs(x-y);
}
int dfs(int i, int cur, int a, int b, int c){
if(f[i][cur][a][b][c]!=-1) return f[i][cur][a][b][c];
int re = 0x3f3f3f3f;
if(i>n){
if(!a && !b && !c) return 0;
if(a) re = min(re, dfs(i, a, 0, b, c)+dis(cur,a)+1);
if(b) re = min(re, dfs(i, b, a, 0, c)+dis(cur,b)+1);
if(c) re = min(re, dfs(i, c, a, b, 0)+dis(cur,c)+1);
f[i][cur][a][b][c] = re;
return re;
}
if(a) re = min(re, dfs(i, a, 0, b, c)+dis(cur,a)+1);
if(b) re = min(re, dfs(i, b, a, 0, c)+dis(cur,b)+1);
if(c) re = min(re, dfs(i, c, a, b, 0)+dis(cur,c)+1);
if(a && b && c){
re = min(re, dfs(i+1, v[i], a, b, c)+dis(cur,u[i])+dis(u[i],v[i])+2);
re = min(re, dfs(i+1, a, v[i], b, c)+dis(cur,u[i])+dis(u[i],a)+2);
re = min(re, dfs(i+1, b, a, v[i], c)+dis(cur,u[i])+dis(u[i],b)+2);
re = min(re, dfs(i+1, c, a, b, v[i])+dis(cur,u[i])+dis(u[i],c)+2);
}
else{
if(!a) re = min(re, dfs(i+1, u[i], v[i], b, c)+dis(cur,u[i])+1);
else if(!b) re = min(re, dfs(i+1, u[i], a, v[i], c)+dis(cur,u[i])+1);
else re = min(re, dfs(i+1, u[i], a, b, v[i])+dis(cur,u[i])+1);
}
f[i][cur][a][b][c] = re;
return re;
}
int main(){
cin>>n;
for(int i=1; i<=n; i++)
scanf("%d %d", &u[i], &v[i]);
memset(f, -1, sizeof(f));
cout<<dfs(1, 1, 0, 0, 0)<<endl;
return 0;
}
最新文章
- js,java,浮点数运算错误及应对方法
- Tiny_4412的NFS挂载
- Unity3D 中 Generic 动画导入设置和 Root Motion 之间的关系
- 文本信息“welcome to java programming!”
- centos7编译安装MySQL5.7.9
- javascriptt切换组件MyTab.js封装
- UILabel 的使用,属性详解
- EditPlus 快速去重
- [ACM] hdu 2191 珍惜如今,感恩生活 (多重背包)
- [TPYBoard-Micropython之会python就能做硬件 4] 学习使用电位器和1602显示屏
- Tom DeMarco:软件工程这个概念已过时?
- leetcode-数组中只出现一次的数字
- login.html
- win2008安装并配置zabbix3.4 agent
- python3 文件和流
- 使用AS-REP Roasting和kerberoasting攻击kerberos
- Linux驱动中completion接口浅析(wait_for_complete例子,很好)
- java中Double类数字太大时页面正常显示而不要用科学计数法
- 使用 Gogs 搭建自己的 Git 服务器
- java.lang.NoClassDefFoundError: Could not initialize class org.jfree.chart.JFreeChart