Solution:

              这其实是道很简单的题。

              只要从一端开始,以‘+’或‘-’,任意一种开始找,找到与目标串最近的相同字符的距离就是需要交换的次数。

              +++———            对齐第一个‘-’                  —+++——

                                        ------------> 

              ———+++                                                ———+++

              以‘-’为例,不断向一端交换的话,最后交换的其实只要当前的‘-’和一个‘+’的位置,其他‘-’的相对位置不变。

              因此只要从左到右匹配第i个‘-’,计算出它们的距离差,累加即可。

code:

         

#include <iostream>
#include <string>
#define abs(x) (max(x,-(x)))
using namespace std;
const int INF = 5555;
int len, a[INF], b[INF], n1, n2, ans;
string st;
int main() {
cin >> st;
len = st.size();
for (int i = 0; i < len; i++)
if (st[i] == '-') a[++n1] = i;
cin >> st;
for (int i = 0, t = 0; i < len; i++)
if (st[i] == '-') b[++n2] = i;
if (n1 != n2) {
cout << -1;
return 0;
}
for (int i = 1; i <= n1; i++)
ans += abs (a[i] - b[i]);
cout << ans;
}

  

SGU 170.Particles的更多相关文章

  1. SGU 170 Particles(规律题)

    题目链接:http://acm.sgu.ru/problem.php?contest=0&problem=170 解题报告:输入两个由'+'和'-'组成的字符串,让你判断第二个串能不能由第一个 ...

  2. SGU 分类

    http://acm.sgu.ru/problemset.php?contest=0&volume=1 101 Domino 欧拉路 102 Coprime 枚举/数学方法 103 Traff ...

  3. 今日SGU 5.8

    SGU 109 题意:一个n*n的矩形,起点在1,1然后每次给你一个操作,走ki步,然后你可以删除任意一个点这次步走不到的,删了就不能再走了,然后问构造这种操作,使得最后删除n*n-1个点 剩下一个点 ...

  4. SGU Volume 1

    SGU 解题报告(持续更新中...Ctrl+A可看题目类型): SGU101.Domino(多米诺骨牌)------------★★★type:图 SGU102.Coprimes(互质的数) SGU1 ...

  5. Interpolation particles In Katana

    I write the sphere radius interpolation for katana plugin that can transfer attributes,render attrib ...

  6. 弄个知乎的粒子动态背景_实践particles.js

    好久没登录知乎,发现他们的登录页面粒子动态效果蛮炫的,查一下代码用了Particles.js基于Canvas画布创建粒子颗粒效果. 上图 上图:   感觉有比格,就照着弄了一个,玩玩.   githu ...

  7. SGU 495. Kids and Prizes

    水概率....SGU里难得的水题.... 495. Kids and Prizes Time limit per test: 0.5 second(s)Memory limit: 262144 kil ...

  8. NYOJ题目170网络的可靠性

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAs8AAANvCAIAAACte6C6AAAgAElEQVR4nOydPbLcNhOu7yaUayGOZy

  9. ACM: SGU 101 Domino- 欧拉回路-并查集

    sgu 101 - Domino Time Limit:250MS     Memory Limit:4096KB     64bit IO Format:%I64d & %I64u Desc ...

随机推荐

  1. Linux下USB烧写uImage kernel

    Linux下USB烧写uImage kernel   1.启动开发板,进入u-boot:(如果开发板中没有系统,可以通过用SD卡方式启动开发板进入)   U-Boot 2011.06 (Mar 19 ...

  2. Python操作Excel_随机点菜脚本

     背景:     中午快餐,菜单吃了个遍,天天纠结于不知道点啥菜.      想起读书考试时,丢纸团选答案,于是用python写个随机点菜脚本玩玩. 功能:      菜单为Excel,一个Sheet ...

  3. HDOJ/HDU 1073 Online Judge(字符串处理~)

    Problem Description Ignatius is building an Online Judge, now he has worked out all the problems exc ...

  4. C++引用(Reference)

    引用(Reference)是C++语言相对于C语言的又一个扩充,类似于指针,只是在声明的时候用&取代了*.引用可以看做是被引用对象的一个别名,在声明引用时,必须同时对其进行初始化.引用的声明方 ...

  5. mac上的键盘生活——quicksliver

      昨天晚上一直在找mac上的博客客户端,没发现很好的国内支持客户端,却发现了一个新的东西--quicksliver 简单的说,这个就是个快捷键启动方式,这是我在mac上用的最好的一个快捷键启动程序( ...

  6. SRM 410(1-250pt, 1-500pt)

    DIV1 250pt 题意:对于图G,有一些点和边,点中有一些点称为特殊点.问在所有特殊点最终不能处于同一个联通块的条件下,最多能给在图G中添加多少条边. 解法:首先,对于图G,处理出它有哪些联通块, ...

  7. 一个Tomcat及一个ip,绑定不同的域名,各个域名访问各自不同应用程序的配置方法

    http://nickandmiles.blog.163.com/blog/static/23422123201110151492166/ 条件是:这样一种实际情况是,就一台服务器,当公网的IP地址也 ...

  8. Android WebRTC 音视频开发总结

    www.cnblogs.com/lingyunhu/p/3621057.html 前面介绍了WebRTCDemo的基本结构,本节主要介绍WebRTC音视频服务端的处理,,转载请说明出处(博客园RTC. ...

  9. 客户端MapReduce提交到YARN过程

    在Mapreduce v1中是使用JobClient来和JobTracker交互完成Job的提交,用户先创建一个Job,通过JobConf设置好参数,通过JobClient提交并监控Job的进展,在J ...

  10. linux上安装rar解压软件

    描述:Linux默认自带ZIP压缩,最大支持4GB压缩,RAR的压缩比大于4GB. -------------------------------------------------- 下载 # wg ...