//   hihocoder 1251 Today Is a Rainy Day
//  题目大意
//      两个最大长度为110的只含123456这六种字符
//  的字符串,有两种操作:
//  1)将一个字符转换成另一个
//  2)将一种字符转换成另一个
//
//  解题思路:
//
//      首先我们要明白,2操作比1操作改变的字符要多很多
//  这样,如果1操作在2操作之前,;不如2在1之前,修改的范围
//  更大,这样,我们可以预处理出123456的映射关系,用一个
//  6位的6进制.(挺巧妙)总共的复杂度6的6次方大概是50000
//  用一个bfs就好,之后再找到单个的不一样的.
//
//  感悟:
//
//      比赛的时候,虽然知道是bfs搜索,但是没有想到只要
//  从123456这6个映射出发就可以了,哎,太年轻了,还是不到家
//  继续加油吧~~~这题过了,可就是银牌了,哎,遗憾,来年再战!
//  大神就是大神,蒟蒻就是蒟蒻#include <cstring>
#include <algorithm>
#include <iostream>
#include <cstdio>
#include <cmath>
#include <string>
#include <vector>
#include <queue>
#include <ctime>
#include <cstdlib>
#define For(x,a,b,c) for (int x = a; x <= b; x += c)
#define Ffor(x,a,b,c) for (int x = a; x >= b; x -= c)
#define cls(x,a) memset(x,a,sizeof(x))
using namespace std;
typedef long long ll;const int MAX_N = 50000 + 8;const int INF = 0x3f3f3f3f;
const ll MOD = 1e12;char a[200],b[200];int dp[MAX_N];
int f[10][10];
int ct[10];
int getId(int s[]){int x = 0;for (int i = 0 ;i < 6 ;i ++)x = x * 6 + s[i];return x;
}void get_R(int x,int s[]){for (int i = 5;i >= 0;i --){s[i] = x % 6;x /= 6;}
}void init(){cls(dp,0x3f);queue<int> que;int c[10];for (int i = 0 ; i < 6;i ++)c[i] = i;int s = getId(c);que.push(s);dp[s] = 0;int tmp[10];while(!que.empty()){s = que.front();que.pop();// cout << x++ << endl;get_R(s,c);for (int i = 0;i < 6 ;i ++)for (int j = 0 ;j < 6 ;j ++){memcpy(tmp,c,sizeof(tmp));for (int k = 0 ; k < 6 ; k ++)if (tmp[k] == i)tmp[k] = j;int u = getId(tmp);if (dp[u] > dp[s] + 1){dp[u] = dp[s] + 1;que.push(u);}}}
}void solve(){int len = strlen(a);cls(ct,0);cls(f,0);for (int i = 0 ;i < len; i ++){ct[b[i]-'1']++;f[b[i]-'1'][a[i]-'1']++;}int mx = len;int t[10];for (int i = 0 ;i < MAX_N;i ++){int sum = dp[i];get_R(i,t);for (int j = 0;j < 6;j ++){sum += ct[j] - f[j][t[j]];}mx = min(mx,sum);}cout << mx << endl;
}int main(){ios::sync_with_stdio(false);//freopen("1.in","r",stdin);init();while(cin >> a >> b){solve();        }return 0;
}

hihocoder 1251 Today Is a Rainy Day 2015北京区域赛C相关推荐

  1. 2015北京区域赛 Mysterious Antiques in Sackler Museum 几何基础+思维

    题意是,选出三个,看看是否可以凑成一个新的矩形. #include<bits/stdc++.h> using namespace std; struct node { int cnt[2] ...

  2. (2015)北京区域赛总结+回忆录

    从去年7月跟着学长们入坑,到今年11月去北京比赛,一年多的时间就这样转眼度过,现在坐在电脑面前码字时大脑却一片空白,不知道从何说起.想起去年暑假的时候,每天都是8点多到实验室晚上10点回宿舍,顿顿和学 ...

  3. hihoCoder 1227 2015 北京网络赛 A题

    题意: 给定m个点,然后从这m个点里找到一个点作为圆心,求一个最小的半径使得圆内刚好有n个点,没有压线的点. 思路: 预处理一下各点间的距离,暴力枚举圆心,然后找到排序后的第n个判断即可.坑点:n&g ...

  4. 2015北京网络赛 G题 Boxes bfs

    Boxes Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://hihocoder.com/contest/acmicpc2015beijingonl ...

  5. hihoCoder1233(2015北京网络赛H题)

    转载自:http://blog.csdn.net/queuelovestack/article/details/48625899 题意: 有n个卡槽,放有体积不同的n个空盒子,每次你可以移动一个空盒子 ...

  6. hihoCoder1228(2015北京网络赛B题)

    题意: 给出一个文本编辑器的容量,给出老板输入的字符串,小写字母代表文本,大写字母代表命令: L:光标左移: R:光标右移: S:在insert模式和另一个输入模式中切换: D:删除光标后面的一个字符 ...

  7. 记2015沈阳区域赛

    前记 基本确定了要去沈阳和上海打区域赛,听说苏大cp也会沈阳,于是我们的最终目标变为了压苏大. 周五 下午一点左右的飞机,本来想要早上赶概率论作业然后交到学校去,结果睡晚了,干脆就早点去了机场,然后大 ...

  8. 树形DP+并查集+左偏树, HDU-5575,Discover Water Tank,2015上海现场赛D题

    只是ACM/IICPC 2015 上海区域赛的一道题.原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=5575 题目描述 N-1个木板把一个水箱划分成了N ...

  9. 电赛综合测评题练习(二)-(与2015年电赛综合测评要求类似)

    2015年电赛综合测评(部分要求有区别) 系列文章 T1:电赛综合测评题练习(一)-(与2013年电赛综合测评要求类似) 点击下载仿真文件1(请使用Multisim 14及以上版本打开) T2:电赛综 ...

  10. 北京计算机 英语职称考试报名时间2015,2015北京职称计算机考试报名入口

    [考试简介]全国专业技术人员计算机应用能力考试是一种计算机能力考试. 全国职称计算机考试可以提高计算机和网络的普及应用程度,加强信息资源的开发和利用"的精神,落实国家加快信息化建设的要求,引 ...

最新文章

  1. 详解AFNetworking的HTTPS模块
  2. Android开发简易教程
  3. linux 以太网转wifi,LINUX-网络 - (以太网和WIFI无线)
  4. 【论文解读】VarifocalNet:如何对候选框排序的最优方案
  5. rust go java 性能_Java,Go和Rust之间的比较 - Dexter
  6. 今日代码(200624)--缺失值处理
  7. IDEA 2018 集成 MyBatis Generator 插件 详解、代码生成
  8. 【原译】汇编编程之:Hello World!详解- 好文!!!
  9. 利用CSS边框合并属性打造table细边框
  10. iOS 开发笔记-plist使用
  11. 离散数学蕴含式的问题
  12. Matlab实现和使用神经网络的几种方式详细讲解--附代码可下载
  13. SSD目标检测论文简读
  14. 华为mate40鸿蒙系统用久了会卡吗,华为mate40用多久会卡_华为mate40能流畅使用多久...
  15. word 职称计算机考试大纲,全国职称计算机考试Word2003大纲
  16. 收藏一个Ping的小工具类,可用于网络中检测目的设备是否在线
  17. 「Linux-基础」CentOS8 权限管理
  18. 双网卡的网络路由配置
  19. LiFi用于佩皮尼昂急救中心
  20. python怎么爬取新浪微博数据中心_基于Python的新浪微博位置数据获取方法研究....

热门文章

  1. 域名被劫持应该如何处理
  2. 系统提示无法删除文件或文件夹的常用解决办法
  3. 乐观的态度使工作充满激情
  4. 用c语言编程小鸭子,小鸭子
  5. 人工智能时代已经到来,政务工业商业等各领域都将是刚需
  6. PVE系统更换大硬盘的扩容方法
  7. java通过FTP连接到NAS服务器
  8. 如何获取服务器的 CA 证书?
  9. QT运行时的Debug、Release、Profile选项区别
  10. js 格式化金额方法