power oj/2360/Change
题目链接[https://www.oj.swust.edu.cn/problem/show/2360]
题意:给出两个四位数A、B,目地是用最少的步骤使A变成B。变换规则如下:1、相邻的两位数可以交换,消耗为1步。2、每位数字可以增加或者减小,步骤为增加或者减小的量。
题解:用DFS先全排列交换,然后对每一位进行增加或者减小记录步骤和,然后取最小值。
#include<bits/stdc++.h>
using namespace std;
int n[],m[];
bool vis[];
char s[];
int t,stp;
int check(int num)
{
int x[]={,num/,num%/,num%/,num%};
int p=;
for(int i = ;i <= ;i++)
{
p+=min(fabs(m[i]-x[i]),-fabs(m[i]-x[i]));
}
return p;
}
void DFS(int num,int ex)
{
if(num>)
{
printf("%d %d\n",num,ex);
stp=min(stp,check(num)+ex);
}
else
{
for(int i = ;i <= ;i++)
{
if(!vis[i])
{
vis[i] = ;
DFS(num*+n[i],ex++);
vis[i] = ;
}
}
}
}
int main ()
{
scanf("%d",&t);
while(t--)
{
stp=1e5;
scanf("%s",s+);
for(int i = ;i <= ;i++)
n[i] = s[i]-'';
scanf("%s",s+);
for(int i = ;i <= ;i++)
m[i] = s[i]-'';
DFS(,);
printf("%d\n",stp);
}
return ;
}
power oj/2360/Change的更多相关文章
- power oj 2480 放积木[二进制状压DP]
题目链接[https://www.oj.swust.edu.cn/problem/show/2480] 题意:中文题目. 题解:二进制状态转移+坏点判断. #include<cstdio> ...
- power oj 1557种树[二进制状压DP]
题目链接[https://www.oj.swust.edu.cn/problem/show/1557] 题意:中文题目. 题解:用0,1表示某个位置是否种了树,先算出同一行的有效状态的总数,即开两个1 ...
- FZU oj 2277 Change 树状数组+dfs序
Problem 2277 Change Time Limit: 2000 mSec Memory Limit : 262144 KB Problem Description There is ...
- Power OJ 2605 SPFA+dp思想
题目链接[https://www.oj.swust.edu.cn/problem/show/2605] 题意:给出包含N(N <= 5000)个点M条边的有向图,然后求1 - N在满足距离小于T ...
- Power oj2498/DP/递推
power oj 2498 /递推 2498: 新年礼物 Time Limit: 1000 MS Memory Limit: 65536 KBTotal Submit: 12 Accepted: 3 ...
- HDU 6034---Balala Power!(搜索+贪心)
题目链接 Problem Description Talented Mr.Tang has n strings consisting of only lower case characters. He ...
- 2017 多校训练 1002 Balala Power!
Balala Power! Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)T ...
- hdu 6034 B - Balala Power! 贪心
B - Balala Power! 题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=6034 题面描述 Talented Mr.Tang has n st ...
- HDU 6034 17多校1 Balala Power!(思维 排序)
Problem Description Talented Mr.Tang has n strings consisting of only lower case characters. He want ...
随机推荐
- vim的配置文件参数
环境:kali linux vim的配置文件存放在/etc/vim目录中,配置文件名为vimrc set nocompatible "去掉有关vi一致性模式,避免以前版本的bug和局限&qu ...
- HAProxy 代理负载均衡
HAProxy HAProxy是免费 高效 可靠的高可用及负载均衡解决方案,该软件非常适合于处理高负载站点的七层数据请求,HAProxy的工作模式使其可以非常容易且安全地集成到我们现有的站点架构中.使 ...
- A Truthful (1-ɛ)-Optimal Mechanism for On-demand Cloud Resource Provisioning---INFOCOM 2015
[标题] [作者] [来源] [对本文评价] [why] 存在的问题 [how] [不足] assumption future work [相关方法或论文] [重点提示] [其它]
- j2ee tomcat 部署学习
J2EE基础实例demo http://www.cnblogs.com/javabin/p/3809954.html J2EE 数据库JDBC(Java Data Base Connectivity, ...
- Intent的几种Flag的不同
冬天有点冷,不想写博客. 研究下Intent的几种Flag的不同: 1,FLAG_ACTIVITY_CLEAR_TOP:会清理掉目标activity栈上面所有的activity Intent inte ...
- 自定义控件之圆形颜色渐变进度条--SweepGradient
前几天在群里面有人找圆形可颜色渐变进度条,其中主要的知识点是SweepGradient: mSweepGradient = new SweepGradient(240, 360, new int[] ...
- 简单的 Android 拍照并显示以及获取路径后上传
简单的 Android 拍照并显示以及获取路径后上传 Activity 中的代码,我只贴出重要的事件部分代码 public void doPhoto(View view) { destoryBimap ...
- HDU 5829 Rikka with Subset
快速数论变换ntt. 早上才刚刚接触了一下FFT,然后就开始撸这题了,所以要详细地记录一下. 看了这篇巨巨的博客才慢慢领会的:http://blog.csdn.net/cqu_hyx/article/ ...
- em,strong,b,i的区别
文章来源: http://www.zhihu.com/question/19551271 默认样式: strong=b=粗体 em=i=斜体 HTML4.01: strong,em代表语义,从语义 ...
- html5权威指南:标记文字、组织内容、文档分节
HTML5新增及删除标签:http://www.cnblogs.com/starof/archive/2015/06/23/4581850.html 第八章:标记文字 ...