• uva6152Bits Equalizer


    View Code
     1 #include <iostream>
     2 #include <stdio.h>
     3 #include <string>
     4 #include <math.h>
     5 #include <algorithm>
     6 using namespace std;
     7 #define DEBUG
     8 int min(int a, int b){
     9     return a<b?a:b;
    10 }
    11 int main(){
    12 #ifndef DEBUG
    13     freopen("in.txt", "r", stdin);
    14 #endif
    15     int cas;
    16     scanf("%d", &cas);
    17     int id=1;
    18     while(cas--){
    19         string s, t;
    20         cin >> s >> t;
    21         printf("Case %d: ",id++);
    22         int i, ans=0;
    23         int cnt1, cnt2, cnt3, cnt4, cnt5, cnt6;
    24         cnt1=count(s.begin(), s.end(), '0');
    25         cnt2=count(s.begin(), s.end(), '?');
    26         cnt3=count(t.begin(), t.end(), '0');
    27         if(cnt1+cnt2<cnt3){
    28             printf("%d\n", -1);
    29             continue;
    30         }
    31         cnt4=0;
    32         cnt5=0;
    33         ans+=cnt2;
    34         for(i=0; i<s.length(); i++){
    35             if(s[i]=='0' && t[i]=='1') cnt4++;
    36             else if(s[i]=='1' && t[i]=='0') cnt5++;
    37         }
    38         ans+=min(cnt4, cnt5);
    39         cnt6=abs(cnt4-cnt5);
    40         ans+=cnt6;
    41         printf("%d\n", ans);
    42     }
    43     return 0;
    44 }

    题目很简答,题意就不说了。

    这里值得说的是,stl的count函数在这里可以用一下~

    Greatness is never a given, it must be earned.
  • 相关阅读:
    Python for i 循环
    Python 输入分数并评
    用户名和密码的输入
    cocos2d-x 3.0学习
    VS2008 ShotKey
    Cocos2d-x 3.0的安装方法
    VFC
    一、在WIN7 64位系统平台,VS2013环境下安装WTL90_4090_RC1(2014-04-01)
    http://www.vcf-online.org/
    Win7 64位 VS2012 安装 Qt5
  • 原文地址:https://www.cnblogs.com/zjutzz/p/2941740.html
Copyright © 2020-2023  润新知