NYOJ 915 +-字符串
来源:互联网 发布:连邦软件专卖店 编辑:程序博客网 时间:2024/06/11 17:15
+-字符串
时间限制:1000 ms | 内存限制:65535 KB
难度:1
描述
Shiva得到了两个只有加号和减号的字符串,字串长度相同。Shiva一次可以把一个加号和它相邻的减号交换。他想知道最少需要多少次操作才能把第一个字符串变换成第二个字符串。你现在要去帮助他完成那个这个问题。
输入
多组测试数据
每组数据有两行,每行包含一个由”+”和”-“最成的字符串。每个子符串长度不超过5000。
输出
仅一个整数,输出最少需要操作的次数。如果答案不存在,输出-1。
样例输入
++-+–+
-++–++
样例输出
4
**部分编译器abs()放在 cstdlib头文件里
每次只往后移动一个位置 两个字符串里的’+”-‘要一一对应
只有一种方式
故移动步数就等于两个字符串里每个’+’或‘- ’对应的下标差之和**
#include<cstdio>#include<cstdlib>#include<string.h>#include<iostream>using namespace std;int main(){ char a[10005],b[10005]; int c[10005],d[10005]; while(gets(a)) { gets(b);int k = 0,l = 0; for(int i=0;i < strlen(a) ; i ++) { if(a[i] == '+' ) c[k ++] = i; if(b[i] == '+' ) d[l ++] = i; } int count = 0; if(k != l) cout<< "-1" << endl; else { for(int i = 0 ;i < k;i ++) { count = count + abs(c[i] - d[i]) ; } cout<<count<<endl; } } }
阅读全文
0 0
- nyoj 915 +-字符串 【字符串】
- nyoj 915 +-字符串【字符串】
- nyoj-915-+-字符串
- NYOJ 915 +-字符串
- NYOJ 915 +-字符串
- NYOJ-915 +-字符串
- NYOJ 915 +-字符串
- NYOJ 915 +-字符串
- NYOJ 915 +-字符串【贪心】
- nyoj 915 +-字符串
- NYOJ 915 +-字符串
- NYOJ 题目915+-字符串
- nyoj-915-+-字符串
- NYOJ 915 +-字符串
- nyoj 915 + - 字符串 (递归)
- +-字符串 nyoj 915
- nyoj 915 +-字符串
- nyoj 915 +-字符串
- 2017-09-14 DBA日记,记oracle没有采集awr信息一例
- ORACLE函数
- 面向对象和接口
- android button点击事件(第一行代码android学习笔记)
- spring的一些问题
- NYOJ 915 +-字符串
- 未知:zi——题解
- Java中如何遍历Map对象的4种方法
- 中兴技术一面
- 【bzoj5015】[Snoi2017]礼物
- Java 8特性学习 --- Lambda表达式
- 视频解码库CUVID流程
- 《android开发艺术探索笔记》Part11、Android的线程和线程池
- 反序列化(先序)——split : string-->vector<string>