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個にできるので、
解は、赤の個数 - 赤と青の最小値 + 青の個数 - 赤と青の最小値
になります。