• +-字符串


    +-字符串

    时间限制:1000 ms | 内存限制:65535 KB

    难度:1

    描述 Shiva得到了两个只有加号和减号的字符串,字串长度相同。Shiva一次可以把一个加号和它相邻的减号交换。他想知道最少需要多少次操作才能把第一个字符串变换成第二个字符串。你现在要去帮助他完成那个这个问题。
    输入多组测试数据

    每组数据有两行,每行包含一个由”+”和”-“最成的字符串。每个子符串长度不超过5000。输出仅一个整数,输出最少需要操作的次数。如果答案不存在,输出-1。样例输入++-+–+
    -++–++
    样例输出
    4
    my answer:

    #include<iostream>
    #include<string>
    using namespace std;
    int main()
    {
        char a[6000];
        char b[6000];
        while(cin>>a)
        {
            cin>>b;
            int str=strlen(a);
            int count=0;
            for(int i=0;i!=str;i++){
                if(a[i]!=b[i]){
                    for(int k=i+1;k!=str;k++){
                        if(b[k]==a[i]){
                          count+= (k-i);
                          if(b[k]=='-')b[k]='+';
                          else  b[k]='-';
                          break;
                       }
                    }
                }
            }
            cout<<count<<endl;
        }
        return 0;
    }
  • 相关阅读:
    只能输入数字的文本框
    Ajax
    Crtl+Enter提交留言
    onkeydown onkeyup键盘事件
    面向对象基础
    JS鼠标拖拽
    博客收藏
    不错的按钮
    如何在你的java程序中注册系统级热键
    开源GIS系统
  • 原文地址:https://www.cnblogs.com/NYNU-ACM/p/4236903.html
Copyright © 2020-2023  润新知