Hatena::Grouptopcoder

chokudaiの日記

 | 

2010-11-07

SRM 386 Div1 Easy CandidateKeys

14:28 | SRM 386 Div1 Easy CandidateKeys - chokudaiの日記 を含むブックマーク はてなブックマーク - SRM 386 Div1 Easy CandidateKeys - chokudaiの日記 SRM 386 Div1 Easy CandidateKeys - chokudaiの日記 のブックマークコメント

問題

問題を読むのが問題です

方針

問題を読めればやるだけ

ソースコード

   public int[] getKeys(string[] table)
    {
        int len = 1 << table[0].Length;
        bool[] superkey = new bool[len];
        int i, j, k;
        int max = -1, min = 1000;
        for (i = 0; i < len; i++)
        {
            Dictionary<string, int> dic = new Dictionary<string, int>();
            for (j = 0; j < table.Length; j++)
            {
                string s = "";
                for (k = 0; k < table[j].Length; k++)
                {
                    if ((i & (1 << k)) != 0) s += table[j][k];
                }
                if (dic.ContainsKey(s)) break;
                dic[s] = 1;
            }
            if (j != table.Length) continue;
            superkey[i] = true;
            int now = 0;
            for (j = 0; j < table[0].Length; j++)
            {
                if ((i & (1 << j)) != 0)
                {
                    now++;
                    if (superkey[i - (1 << j)]) break;
                }
            }
            if (j == table[0].Length)
            {
                min = Math.Min(min, now);
                max = Math.Max(max, now);
            }
        }
        if (max < 0) return new int[0];
        else return new int[2] { min, max };
    }

AnitaAnita2012/07/10 07:13Got it! Thanks a lot again for helnpig me out!

cqjqcowuqqmcqjqcowuqqm2012/07/10 16:35hkDpK5 <a href="http://xgrkysedhwcl.com/">xgrkysedhwcl</a>

maubcamaubca2012/07/12 12:47mCIKTN <a href="http://pibfomngcqgb.com/">pibfomngcqgb</a>

 |