题意:有一个n位的密码锁,每位都是0——9可以循环旋转,每次可以往上或者往下旋转一下,然后给定初始状态和末状态求最小旋转步数。

思路:递推,dp(i,x,y)表示翻到i位第i+1位为x,第i+2位为y的最小步数,枚举上翻状态,找到正翻和倒翻的最小值。

code:

#include <bits/stdc++.h>
using namespace std;#define cls(a,c) memset(a,c,sizeof (a))
#define ft(i,s,t) for (int i=s;i<=t;i++)
const int N=12,M=1005;char s[M],t[M];
int a[M],b[M];
int dp[M][N][N];int main()
{while (~scanf("%s %s",s,t)){int n=strlen(s);ft(i,1,n) a[i]=s[i-1]-'0',b[i]=t[i-1]-'0';a[n+1]=b[n+1]=a[n+2]=b[n+2]=0;cls(dp,63);//ft(i,1,n) printf("%d",b[i]);dp[0][a[1]][a[2]]=0;ft(i,1,n) ft(x,0,9) ft(y,0,9){int d=(b[i]-x+10)%10;ft(j,0,d) ft(k,0,j)dp[i][(y+j)%10][(a[i+2]+k)%10]=min(dp[i][(y+j)%10][(a[i+2]+k)%10],dp[i-1][x][y]+d);int p=10-d;ft(j,0,p) ft(k,0,j)dp[i][(y-j+10)%10][(a[i+2]-k+10)%10]=min(dp[i][(y-j+10)%10][(a[i+2]-k+10)%10],dp[i-1][x][y]+p);}printf("%d\n",dp[n][0][0]);}
}

uva 1631——Locker相关推荐

  1. 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 ...

  2. 紫书《算法竞赛入门经典》

    紫书<算法竞赛入门经典>题目一览 第3章 数组和字符串(例题) UVA 272 TEX Quotes UVA 10082 WERTYU UVA 401 Palindromes UVA 34 ...

  3. [搜索]UVa 129 困难的串

    题意:将一个包含两个相邻的重复子串的子串,称为"容易的串",其他为"困难的串". 输入正整数n和l,输出由前l个字符组成的,字典序第n小的困难的串. 输入样例: ...

  4. uva 401.Palindromes

    题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem ...

  5. Uva 3767 Dynamic len(set(a[L:R])) 树套树

    Dynamic len(set(a[L:R])) Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 https://uva.onlinejudge.org/in ...

  6. UVA 11752 超级幂

    UVA 11752 超级幂 Z - The Super Powers Time Limit:1000MS     Memory Limit:0KB     64bit IO Format:%lld & ...

  7. UVa 11174 - Stand in a Line

    http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&p ...

  8. UVa 10112 - Myacm Triangles

    UVa第一卷最后一题. 求内部不含点并且面积最大的三角形. 暴力. 代码如下: 1 #include<iostream> 2 #include<cstdio> 3 #inclu ...

  9. UVa 10180 - Rope Crisis in Ropeland!

    题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=41&pa ...

最新文章

  1. 气计算,人工智能高度发达的未来世界
  2. JQuery:JQuery捕获HTML
  3. GOOGLE域名存在漏洞,可以用来建立钓鱼站点(目前已临时被封闭)
  4. Git 安装及常用操作配置
  5. Java - Get a list of all Classes loaded in the JVM[转]
  6. python if else break_Python的for和break循环结构中使用else语句的技巧
  7. 30万手表推荐_一年收入20万—30万的小生意,市场上有哪些呢?推荐几个供参考...
  8. 严格对角占优矩阵特征值_二次型和特征值
  9. 无可奈何花落去,数据丢失时时来;何当共谈完整性,却话巴山夜雨时----详解SQL Server 数据库库完整性检查和置疑修复
  10. 电商场景中的精排服务实践
  11. Linux 3.13.0删除了Netlink API函数genl_register_ops() / genl_unregister_ops()
  12. ios查看帧率的软件_iOS开发-自己写一个实时显示fps帧数的小控件
  13. Hulu俱乐部分享之兴趣篇
  14. 为了治好拖延症,我祭出了这个自虐的项目,把我搞的卧槽卧槽的
  15. AD(Altium Designer)导出BOM时出错处理
  16. vmware启动虚拟机提示“无法连接虚拟设备ide1:0,主机上没有相对应的设备“
  17. 仿vivo控制中心下载_仿vivo控制中心下载_手机控制中心app
  18. 论文笔记32 -- Conformer: Local Features Coupling Global Representations for Visual Recognition
  19. python中IP处理模块IPy
  20. 关于使用Pytorch时,训练集模型表现很好但测试集模型表现极差的原因

热门文章

  1. web前端常用知识点
  2. Qt学习之路(4):初探信号槽
  3. laydate 时间控件去掉秒以及解决在移动端不能滑动的问题
  4. html笔记(一)html4+css2.0、css基础和属性、盒模型
  5. java中HashMap的用法
  6. ORACLE连接数据库(备忘)
  7. 优化算法的意义,之二。
  8. 再次参加(第七届)商学院徒步戈壁挑战赛,赋词几首
  9. Google SSL zz
  10. asp.net treeView绑定