nyoj 915 +-字符串 贪心
来源:互联网 发布:詹姆斯高中数据 编辑:程序博客网 时间:2024/05/09 08:07
+-字符串
时间限制:1000 ms | 内存限制:65535 KB
难度:1
- 描述
- Shiva得到了两个只有加号和减号的字符串,字串长度相同。Shiva一次可以把一个加号和它相邻的减号交换。他想知道最少需要多少次操作才能把第一个字符串变换成第二个字符串。你现在要去帮助他完成那个这个问题。
- 输入
- 多组测试数据
每组数据有两行,每行包含一个由”+”和”-“最成的字符串。每个子符串长度不超过5000。 - 输出
- 仅一个整数,输出最少需要操作的次数。如果答案不存在,输出-1。
- 样例输入
++-+--+ -++--++
- 样例输出
4
#include<stdio.h>#include<string.h>char a[5000],b[5000];int la,lb;int sort(int i){char c;int j,s=0;for(j=i+1;j<la;j++){if(a[i]==b[j]){for(;j>i;j--){//a==b时倒序交换b[] c=b[j];b[j]=b[j-1];b[j-1]=c;s++;}break;}}return s;}int main(){int i,j;while(scanf("%s%s",a,b)!=EOF){//不要&a,&b int sum=0,sa=0,sb=0;la=strlen(a);lb=strlen(b);for(i=0;i<la;i++){if(a[i]=='-') sa++;if(b[i]=='-') sb++;}if(la!=lb || sa!=sb) {//长度不等或'-'字符个数不等 printf("-1\n");continue;}for(i=0;i<la;i++){if(a[i]==b[i]) continue;sum+=sort(i);}printf("%d\n",sum);}return 0;}
0 0
- NYOJ 915 +-字符串【贪心】
- nyoj 915 +-字符串 贪心
- nyoj 915 +-字符串(贪心)
- nyoj 915 +-字符串(贪心)
- 南阳 oj NYoj 贪心 题目915 +-字符串
- NYOJ 218 Dinner (字符串&贪心)
- nyoj 915 +-字符串 【字符串】
- nyoj 915 +-字符串【字符串】
- nyoj-915-+-字符串
- NYOJ 915 +-字符串
- NYOJ 915 +-字符串
- NYOJ-915 +-字符串
- NYOJ 915 +-字符串
- NYOJ 915 +-字符串
- nyoj 915 +-字符串
- NYOJ 915 +-字符串
- NYOJ 题目915+-字符串
- nyoj-915-+-字符串
- GIF图的合成
- 小球的自由落体动画
- android studio中安装parcelable插件
- openGL中 GL_LINES 与GL_LINE_STRIP 的一些区别
- Scrapy框架结合Spynner采集需进行js,ajax动态加载的网页并提取网页信息(以采集微信公众号文章列表为例)
- nyoj 915 +-字符串 贪心
- Shell中awk和sed的一些使用
- studio集成极光推送(客户端)详细讲解
- android 缓存思路
- 键盘事件的监听-控制飞机移动
- bzoj1483[HNOI2009]梦幻布丁 链表启发式合并
- Stacked Autoencoders
- ./configure,make,make install的作用
- 解决shell命令行只显示-bash-4.1#不显示用户和路径方法