TopCoder SRM 155 DIV 1 Easy 練習

問題

子、母、男のDNAっぽいのが与えられるので、男が子の父親かどうか判定してねっていう。

母からのDNAを半分、男からのDNAを半分ずつそれぞれ子が引き継いでいる場合は父親だと思うよ。

男と子の間の一致数が半分を超えて、かつ男と母どちらでもないDNAが無ければ父親じゃね。

using System;
using System.Text;
using System.Text.RegularExpressions;
using System.Collections;
using System.Collections.Generic;

public class PaternityTest {
    private bool CanBe(string c, string m, string man)
    {
        int res = 0;
        for (int i = 0; i < c.Length; ++i)
            if (c[i] == man[i]) res++;
            else if (c[i] != m[i]) return false;
        return res >= c.Length / 2;
    }

    public int[] possibleFathers(string child, string mother, string[] men)
    {
        List<int> res = new List<int>();

        for (int i = 0; i < men.Length; ++i)
            if(CanBe(child, mother, men[i]))
                res.Add(i);
        return res.ToArray();
    }
}