zoukankan      html  css  js  c++  java
  • Codeforces Round #651 (Div. 2) E

    #include<map>
    #include<queue>
    #include<time.h>
    #include<limits.h>
    #include<cmath>
    #include<ostream>
    #include<iterator>
    #include<set>
    #include<stack>
    #include<cstdio>
    #include<cstring>
    #include<iostream>
    #include<algorithm>
    using namespace std;
    #define rep(i,m,n) for(int i=m;i<=n;i++)
    #define mem(st) memset(st,0,sizeof st)
    int read()
    {
        int res=0,ch,flag=0;
        if((ch=getchar())=='-')             //判断正负
            flag=1;
        else if(ch>='0'&&ch<='9')           //得到完整的数
            res=ch-'0';
        while((ch=getchar())>='0'&&ch<='9')
            res=res*10+ch-'0';
        return flag?-res:res;
    }
    typedef long long ll;
    typedef pair<int,int> pii;
    typedef unsigned long long ull;
    typedef pair<double,double> pdd;
    const int inf = 0x3f3f3f3f;
    char str[1000020], tt[1000020];
    signed main()
    {
        int n;
        cin >> n >> str + 1 >> tt + 1;
        if(count(str + 1 , str + n + 1 , '1') != count(tt + 1 , tt + n + 1 , '1'))
            cout << -1 << '
    ';
        else
        {
            int m = 0;
            rep(i , 1 , n)
            if(str[i] == tt[i]) //不一样的拿出来 
                continue;
            else
            {
                ++ m;
                str[m] = str[i] , tt[m] = tt[i];
            }
            int sum1 = 0, sum0 = 0, ans = 0;
            //从头开始, 
            rep(i , 1 , m)
            {
                if(str[i] == '1')
                //如果是1,那么久找距离 最近的0,转一下,那么也就相当于现在有的1整体往后移动 
                {
                    sum1 ++;
                    if(sum0) 
                        sum0 --;//如果存在整体往后移动的0 ,就说明之前移动过, 
                    else 
                        ans ++;
                }
                else
                {
                    sum0 ++;
                    if(sum1) sum1 --;
                    else ans ++;
                }
            }
            cout << ans << '
    ';
        }
        return 0;
    }
  • 相关阅读:
    第四周作业
    jsp第二次作业
    jsp第一次作业
    软件测试1
    activity
    listview
    sql
    登录
    第二次安卓作业
    安卓第一周作业
  • 原文地址:https://www.cnblogs.com/QingyuYYYYY/p/13171986.html
Copyright © 2011-2022 走看看