很暴力的一个dp,dp[i][j][k] 表示的是第i位时,前i-1位都匹配后,当由前面的状态推出第i位+j,i+1位+k时最少用多少步。注意up和down要分开算。。

#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdio>
#include<cmath>
#define LL long long
#define CLR(a, b) memset(a, b, sizeof(a))using namespace std;const int N = 1111;int dp[N][11][11];
char a[N], b[N];int main()
{int n, i, j, k, s, t, up, dw;while(cin >> a >> b){n = strlen(a);memset(dp, 0x3f3f, sizeof(dp));dp[0][0][0] = 0;for(i = 0; i < n; i ++){for(j = 0; j < 10; j ++){for(k = 0; k < 10; k ++){up = (b[i] - a[i] - j + 20) % 10;dw = (10 - up) % 10;for(s = 0; s <= up; s ++){for(t = 0; t <= s; t ++){dp[i + 1][(k + s) % 10][t] =min(dp[i + 1][(k + s) % 10][t], dp[i][j][k] + up);}}for(s = 0; s <= dw; s ++){for(t = 0; t <= s; t ++){dp[i + 1][(k - s + 10) % 10][(10 - t) % 10] =min(dp[i + 1][(k - s + 10) % 10][(10 - t) % 10], dp[i][j][k] + dw);}}}}}cout << dp[n][0][0] << endl;}
}

HDU 4433 locker相关推荐

  1. hdu 4433 locker

    http://acm.hdu.edu.cn/showproblem.php?pid=4433 记忆化搜索+DP ans[x][f][ff]; 表示到a的第x位时 此位加f ,x-1位 加ff 的情况下 ...

  2. hdu 4433 locker(DP)

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=4433 题目大意:就是给你一个序列,相当于一个可以转的那种密码锁的初始状态,0往下转是9,9往上转是0,现在 ...

  3. [HDU 4433]locker[DP]

    题意: 给出密码做的现状和密码, 每次可以移动连续的最多3列, 向上或向下, 求将密码调出来所需要的最少步数. 思路: 首先应看出,恢复的过程中, 调每一位的时间顺序是不影响的, 不妨就从左到右一位位 ...

  4. ACM练级日志:HDU 4433 Locker

    天津现场赛的一道题,说有两个密码串,每次你可以转第一个串连着的最多三个数,问最少转多少次能把第一串转成第二串. 开始以为是搜索,后来一看n<=1000直接吓尿-- 后来以为是字符串,但是怎么做也 ...

  5. UVA 1631 Locker(HDU 4433)(DP)

    A password locker with N digits, each digit can be rotated to 0-9 circularly. You can rotate 1-3 con ...

  6. HDU 4433 DP

    题意 给1000个数字,每次可以转动1-3连续位,问从一个状态转到另一个状态最少需要多少步. 题解 比赛时候想复杂了,这道题跟BFS没有任何关系.不过还是有很多神牛用记忆化搜索过了.主要就是设计DP状 ...

  7. HDOJ 4433 Locker (数位DP)

    题意,给一个密码锁的初始状态和目标状态,每次可以将连续的 1 - 3 位向上或者向下挪一位,问达到目标状态最少需要多少次. 参考了网上的题解... dp[i][x][y] 表示 在第 i-1 位是 x ...

  8. HDU locker 4433

    #include<stdio.h> #include<algorithm> using namespace std;const int maxn=1005; const int ...

  9. dp hdu-4433 locker

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4433 题目大意: 给两个长度相等的数字串s1,s2.每次操作可以把连续的最多三位都+1或-1,如果超 ...

最新文章

  1. 驱动 2.4'' TFT 串口触摸屏
  2. java之 ------ 可变參数和卫条件
  3. mysql设置user_name唯一_mysql如何设置唯一性
  4. java整型转换为数组_基于java中byte数组与int类型的转换(两种方法)
  5. 靠知识赚钱只是较高级的体力劳动,靠智慧赚钱才能真正的富有。
  6. JAVA基础知识之Collections工具类
  7. Java经典设计模式-创建型模式-抽象工厂模式(Abstract Factory)
  8. php调用第三方接口代码,PHP接口编程——调用第三方接口获取天气
  9. POJ2676 Sudoku
  10. Delphi中实现ListView滚动条的换肤方案
  11. 计算机数控模拟操作步骤,数控仿真
  12. 屏幕取词编程学习总结
  13. 双随机软件java_随机抽检|双随机一公开 1.0 正式版下载_太平洋下载中心
  14. 【电力拖动自动控制系统】感应/异步电机动态模型完全手把手推导
  15. Latex论文用bibtex实现期刊/会议缩写
  16. 清华教授花费1年总结python学习路线共26章,学会它offer拿到手软
  17. 苹果mac启动台变成问号_MAC系统开机出现闪烁问号怎么办|MAC系统开机出现闪烁问号的解决方法-系统城...
  18. Java基础部分 阶段一(语法基础)1、开发环境搭建(计算机编程及开发语言)
  19. Visual Studio C++ 中小微企业信息管理系统设计与实现之开发财务管理系统
  20. 【MySQL】varbinary 真的比varchar 更合适

热门文章

  1. daily used_微软“ Daily Build”书呆子晚餐-8月4日在雷德蒙德西雅图
  2. Android那些事儿 Android手机交互特性
  3. 上海美女和德国富商行骗富豪圈 3年净赚3亿
  4. UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte 0x80 in position 0: invalid start byte解决方法
  5. Android voice语音功能常见问题汇总,注意细节
  6. 傅里叶变化与卷积和互相关操作的转换
  7. 如何在typescript中移除数组中某一项
  8. python安卓qq登录_python 前后端不分离 QQ登录,微博登录
  9. fillcolor是什么意思_详解css3中 text-fill-color属性
  10. 智能菌 | 担心人工智能无法无天?我们要厘清它的伦理问题