当前位置: 首页 > news >正文

【DP 训练】Locker, Tianjin 2012, UVa1631

#include<bits/stdc++.h>
using namespace std;
#define maxn 1010
int len;char s1[maxn],s2[maxn];
int dp[maxn][15][15],a[maxn],b[maxn];
//dp(i,x,y)表示翻到i位第i+1位为x,第i+2位为y的最小步数,枚举上翻状态,找到正翻和倒翻的最小值。
int main()
{
	ios::sync_with_stdio(false);
	while(cin>>s1+1>>s2+1)
	{
		len = strlen(s1+1);
		memset(dp,0x3f,sizeof(dp));
		for(int i=1;i<=len;i++)
			a[i] = s1[i]-'0',b[i] = s2[i]-'0';
		a[len+1]=b[len+1]=a[len+2]=b[len+2]=0;
		dp[0][a[1]][a[2]] = 0;
		for(int i=1;i<=len;i++)
		{
			for(int x=0;x<=9;x++)
			{
				for(int y=0;y<=9;y++)
				{//@枚举dp[i-1][x][y] => dp[i][change(x)][change(y)] 
					int d = (b[i]-x+10)%10;//x上翻到目标状态的补数 
					for(int j=0;j<=d;j++)
					{
						for(int k=0;k<=j

相关文章:

  • C语言fread()函数
  • fwrite
  • 【黑科技】升级版IO挂
  • 【数论】Colossal Fibonacci Numbers!, UVa11582
  • C++ IO相关
  • 【数论】Choose and Divide, UVa10375 【组合数学】【唯一分解定理】【精度】
  • 【数论】Minimum Sum LCM, UVa10791【唯一分解定理】【素数筛法】
  • gdb调试
  • 异或运算
  • 快速枚举因子(约数)
  • 欧拉函数 线性筛法
  • 【条件概率】Headshot, ACM/ICPC NEERC 2009, UVa1636
  • 【数学专题】 卡特兰数
  • 【组合数学】Critical Mass, UVa580
  • 常用算法和数据结构的复杂度速查表
  • 【407天】跃迁之路——程序员高效学习方法论探索系列(实验阶段164-2018.03.19)...
  • JS创建对象模式及其对象原型链探究(一):Object模式
  • js数组之filter
  • MYSQL如何对数据进行自动化升级--以如果某数据表存在并且某字段不存在时则执行更新操作为例...
  • nodejs实现webservice问题总结
  • python学习笔记-类对象的信息
  • Solarized Scheme
  • Twitter赢在开放,三年创造奇迹
  • vuex 学习笔记 01
  • vue总结
  • 等保2.0 | 几维安全发布等保检测、等保加固专版 加速企业等保合规
  • 订阅Forge Viewer所有的事件
  • 浮动相关
  • 嵌入式文件系统
  • 让你的分享飞起来——极光推出社会化分享组件
  • 通过git安装npm私有模块
  • 分布式关系型数据库服务 DRDS 支持显示的 Prepare 及逻辑库锁功能等多项能力 ...
  • 如何在招聘中考核.NET架构师
  • 资深实践篇 | 基于Kubernetes 1.61的Kubernetes Scheduler 调度详解 ...
  • ​LeetCode解法汇总2808. 使循环数组所有元素相等的最少秒数
  • ​一、什么是射频识别?二、射频识别系统组成及工作原理三、射频识别系统分类四、RFID与物联网​
  • (LeetCode 49)Anagrams
  • (二)斐波那契Fabonacci函数
  • (分类)KNN算法- 参数调优
  • (附源码)springboot优课在线教学系统 毕业设计 081251
  • (七)微服务分布式云架构spring cloud - common-service 项目构建过程
  • (数据结构)顺序表的定义
  • (数位dp) 算法竞赛入门到进阶 书本题集
  • (一)基于IDEA的JAVA基础1
  • (原創) 如何刪除Windows Live Writer留在本機的文章? (Web) (Windows Live Writer)
  • .equal()和==的区别 怎样判断字符串为空问题: Illegal invoke-super to void nio.file.AccessDeniedException
  • .net core 调用c dll_用C++生成一个简单的DLL文件VS2008
  • .NET轻量级ORM组件Dapper葵花宝典
  • .NET性能优化(文摘)
  • @select 怎么写存储过程_你知道select语句和update语句分别是怎么执行的吗?
  • [acm算法学习] 后缀数组SA
  • [Bugku]密码???[writeup]
  • [bzoj2957]楼房重建
  • [C#] 如何调用Python脚本程序
  • [C/C++]数据结构 深入挖掘环形链表问题