+-字符串
来源:互联网 发布:php求和函数 编辑:程序博客网 时间:2024/06/05 09:25
+-字符串
时间限制:1000 ms | 内存限制:65535 KB
难度:1
- 描述
- Shiva得到了两个只有加号和减号的字符串,字串长度相同。Shiva一次可以把一个加号和它相邻的减号交换。他想知道最少需要多少次操作才能把第一个字符串变换成第二个字符串。你现在要去帮助他完成那个这个问题。
- 输入
- 多组测试数据
每组数据有两行,每行包含一个由”+”和”-“最成的字符串。每个子符串长度不超过5000。 - 输出
仅一个整数,输出最少需要操作的次数。如果答案不存在,输出-1。
- 样例输入
++-+--+ -++--++
- 样例输出
4
#include<stdio.h>#include<iostream>#include<algorithm>#include<string.h>using namespace std;int main(){int i,m,n,k,j,p;char str1[5050],str2[5050];while(scanf("%s%s",str1,str2)!=EOF){m=0;n=0;p=0;char t;if(strlen(str1)!=strlen(str2)){printf("-1\n");continue;}else{for(i=0;i<strlen(str1);i++){if(str1[i]=='+')m++;if(str2[i]=='+')n++;}if(m!=n){printf("-1\n");continue;}elsefor(i=strlen(str2)-1;i>=0;i--){k=0;if(str1[i]!=str2[i]){k++; p=p+k;if(str1[i-k]==str2[i]){str1[i-k]=str1[i];}}}printf("%d\n",p);}}return 0;}
阅读全文
0 0
- 字符串
- 字符串
- 字符串
- 字符串
- 字符串
- 字符串
- 字符串
- 字符串
- 字符串
- 字符串
- 字符串
- 字符串
- 字符串
- 字符串
- 字符串
- 字符串
- 字符串
- 字符串
- 每日工作计划
- hdu 3037 Saving beans 卢卡斯定理
- hibernate的事物隔离级别和传播特性
- HTML 5 本地存储----LocalStorage 小DEMO
- Python学习笔记——字典
- +-字符串
- Docker总结——Dockerfile
- dubbo支持的注册中心
- Volley源码分析
- Java进阶(五十三)JAVA 注解机制
- Docker总结——Docker Registry
- 【工具类】打造万能的Listview、GridView和ViewPager和RecyclerView的适配器
- [Poi2010]Monotonicity 2
- StringBuffer和String区别,转换