AtCoderのABC    次のABCの問題へ    前のABCの問題へ

ABC120-C Unification


問題へのリンク


C#のソース

using System;
using System.Collections.Generic;
using System.Linq;

class Program
{
    static string InputPattern = "InputX";

    static List<string> GetInputList()
    {
        var WillReturn = new List<string>();

        if (InputPattern == "Input1") {
            WillReturn.Add("0011");
            //4
        }
        else if (InputPattern == "Input2") {
            WillReturn.Add("11011010001011");
            //12
        }
        else if (InputPattern == "Input3") {
            WillReturn.Add("0");
            //0
        }
        else {
            string wkStr;
            while ((wkStr = Console.ReadLine()) != null) WillReturn.Add(wkStr);
        }
        return WillReturn;
    }

    static void Main()
    {
        List<string> InputList = GetInputList();
        string S = InputList[0];

        int Cnt0 = S.Count(pX => pX == '0');
        int Cnt1 = S.Count(pX => pX == '1');

        Console.WriteLine(Math.Min(Cnt0, Cnt1) * 2);
    }
}


解説

赤が3個、青が9個あった場合、最善を尽くせば、
赤が0個、青が6個にできるので、

解は、赤の個数 - 赤と青の最小値 + 青の個数 - 赤と青の最小値
になります。