南阳题目915-+-字符串
来源:互联网 发布:广东粤数大数据 编辑:程序博客网 时间:2024/03/28 18:40
+-字符串
时间限制:1000 ms | 内存限制:65535 KB
难度:1
- 描述
- Shiva得到了两个只有加号和减号的字符串,字串长度相同。Shiva一次可以把一个加号和它相邻的减号交换。他想知道最少需要多少次操作才能把第一个字符串变换成第二个字符串。你现在要去帮助他完成那个这个问题。
- 输入
- 多组测试数据
每组数据有两行,每行包含一个由”+”和”-“最成的字符串。每个子符串长度不超过5000。 - 输出
- 仅一个整数,输出最少需要操作的次数。如果答案不存在,输出-1。
- 样例输入
++-+--+ -++--++
- 样例输出
4
- 来源
- NBOJ
- 上传者
这个题要弄清楚一点,就是要想次数最少,我们要逐次比较,找第一个不相等的,然后从第二个串里面找出最近的相等的与第二个串不想等的位置进行替换,算出移动的
次数,依次算下去,如果有一次不能找到,证明无解
#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int main(){char s1[5001],s2[5001];int m,n,i,j,len,flag,Q;while(scanf("%s%s",s1,s2)!=EOF){len=strlen(s1);Q=0;int sum=0;for(i=0;i<len;i++){if(s1[i]!=s2[i]) {flag=1;for(j=i+1;j<len;j++){if(s2[j]==s1[i]){sum+=j-i;s2[j]=s2[i];flag=0;break;}}if(flag){Q=1;break;}}}if(Q)printf("-1\n");elseprintf("%d\n",sum); } return 0;}
0 0
- 南阳题目915-+-字符串
- 南阳理工OJ_题目915 +-字符串
- 南阳 oj NYoj 贪心 题目915 +-字符串
- 南阳题目113-字符串替换
- 南阳理工OJ_题目37 回文字符串
- 南阳oj 题目113 字符串替换
- 南阳理工ACM 题目113 字符串替换
- 南阳 915 +-字符串
- 南阳915+-字符串
- 南阳oj 915 +-字符串
- 南阳题目34-韩信点兵
- 南阳题目94-cigarettes
- 南阳题目169-素数
- 南阳题目198-数数
- 南阳题目287-Radar
- 南阳题目218-Dinner
- NYOJ 题目915+-字符串
- NYOJ题目915-+-字符串
- 入门Android开发--笔记--单例原理
- python爬虫爬取涂鸦吧照片
- 连接池
- Spring读书笔记-----使用Spring容器(二)
- 解决自定义控件中两个Button设置onClick()发生冲突的方法
- 南阳题目915-+-字符串
- Python进阶---函数式编程简介
- Unity中使用ulua的个人经验总结
- 4.14
- 【慕课笔记】4-7 应用DOM4J及JDOM方式解析XML—应用DOM4J解析节点属性
- Spring读书笔记-----Spring的Bean之Bean的基本概念
- 清除JAVA 项目中的注释
- c#使用wpd读取便携式设备信息二
- 位图排序