hihocoder 神奇字符串
思路:
暴力,模拟。
实现:
#include <iostream>
#include <algorithm>
#include <cstdio>
#include <string>
#include <cstring>
using namespace std; const int INF = 0x3f3f3f3f; void str_swap(string & x, int i, int j)
{
char tmp = x[i];
x[i] = x[j];
x[j] = tmp;
} int cal(string x, string y)
{
int s = x.length();
int t = y.length();
if (s != t)
return INF;
int cnt = ;
for (int i = ; i < t; i++)
{
if (x[i] == y[i])
continue;
bool flag = false;
for (int j = i + ; j < s; j++)
{
if (x[j] == y[i])
{
for (int k = j; k > i; k--)
{
str_swap(x, k, k - );
cnt++;
}
flag = true;
break;
}
}
if (!flag)
{
return INF;
}
}
return cnt;
} int main()
{
string a, b;
cin >> a >> b;
int n = b.length();
int minn = INF;
for (int i = ; i <= n; i++)
{
for (char c = 'a'; c <= 'z'; c++)
{
string tmp = b;
tmp.insert(i, , c);
minn = min(minn, cal(a, tmp));
}
}
for (int i = ; i < n; i++)
{
for (char c = 'a'; c <= 'z'; c++)
{
string tmp = b;
tmp.erase(i, );
minn = min(minn, cal(a, tmp));
}
}
for (int i = ; i < n; i++)
{
for (char c = 'a'; c <= 'z'; c++)
{
string tmp = b;
tmp[i] = c;
minn = min(minn, cal(a, tmp));
}
}
cout << minn << endl;
return ;
}
总结:
学习了string 类 insert(可以在最后一个字符后面的位置插入字符或者字符串), erase方法。
hihocoder 神奇字符串的更多相关文章
- [LeetCode] Magical String 神奇字符串
A magical string S consists of only '1' and '2' and obeys the following rules: The string S is magic ...
- [Swift]LeetCode481. 神奇字符串 | Magical String
A magical string S consists of only '1' and '2' and obeys the following rules: The string S is magic ...
- Q481 神奇字符串
神奇的字符串 S 只包含 '1' 和 '2',并遵守以下规则: 字符串 S 是神奇的,因为串联字符 '1' 和 '2' 的连续出现次数会生成字符串 S 本身. 字符串 S 的前几个元素如下:S = & ...
- Leetcode 481.神奇字符串
神奇字符串 神奇的字符串 S 只包含 '1' 和 '2',并遵守以下规则: 字符串 S 是神奇的,因为串联字符 '1' 和 '2' 的连续出现次数会生成字符串 S 本身. 字符串 S 的前几个元素如下 ...
- Java实现 LeetCode 481 神奇字符串
481. 神奇字符串 神奇的字符串 S 只包含 '1' 和 '2',并遵守以下规则: 字符串 S 是神奇的,因为串联字符 '1' 和 '2' 的连续出现次数会生成字符串 S 本身. 字符串 S 的前几 ...
- [题解]hihoCoder挑战赛18——题目1 神奇字符串
题目地址:http://hihocoder.com/problemset/problem/1264 时间限制:20000ms 单点时限:1000ms 内存限制:256MB 描述 我们说两个字符串是非常 ...
- 【hihocoder 1039 字符串消除】模拟
题目链接:http://hihocoder.com/problemset/problem/1039 题意:给定一个只由{A, B, C}组成的字符串s,长度为n, 故包含n+1个空隙:现要求在某个空隙 ...
- hihocoder 1485----hiho字符串
hihocoder 1485:hiho字符串 描述 如果一个字符串恰好包含2个'h'.1个'i'和1个'o',我们就称这个字符串是hiho字符串. 例如"oihateher".&q ...
- Websocket协议的学习、调研和实现
本文章同时发在 cpper.info. 1. websocket是什么 Websocket是html5提出的一个协议规范,参考rfc6455. websocket约定了一个通信的规范,通过一个握手的机 ...
随机推荐
- ZrcListView
https://github.com/zarics/ZrcListView
- python 【第三篇】函数基础
深浅拷贝 set是一个无序且不重复的元素集合访问速度快天生解决重复问题 #!/usr/bin/env python3 # -*- coding:utf-8 -*- #深浅拷贝 import copy ...
- FMDB中常用SQL使用
大家工作中,最常用到的无非是 增.删.查.改... 在SQL中对应的语句为:INSERT DELETE SELECT UPDATE 首先,你可以使用一款叫做“sqlite database brows ...
- TPC-H is a Decision Support Benchmark
TPC-H is a Decision Support Benchmark http://www.dba-oracle.com/t_tpc_benchmarks.htm
- 从远程Linux Copy文件到本机 界面化操作
1.安装SSHSecureShellClient 2.打开 3.设置1,然后打开2就可以操作了
- caioj1230: [图论补充]哈密顿路径
保存模版 #include<cstdio> #include<iostream> #include<cstring> #include<cstdlib> ...
- YTU 2903: A--A Repeating Characters
2903: A--A Repeating Characters 时间限制: 1 Sec 内存限制: 128 MB 提交: 50 解决: 30 题目描述 For this problem,you w ...
- YTU 1098: The 3n + 1 problem
1098: The 3n + 1 problem 时间限制: 1 Sec 内存限制: 64 MB 提交: 368 解决: 148 题目描述 Consider the following algor ...
- 如何正确使用log4j
如何正确使用log4j? 关键字: 如何正确使用log4j? Java Web开发的过程中,通过会采用输出log的方式来进行调试,产品上线之后,也通常使用log来记录系统的运行状态.最简单的输出l ...
- 并不对劲的p2664树上游戏
题目大意 有一棵\(n\)(\(n\leq10^5\))个点的树,每个点\(i\)有颜色\(c_i\)(\(c_i\leq10^5\)) 定义一条路径的得分为这条路径上的不同颜色个数 分别求每个点的以 ...