AtCoder Beginner Contest 025

Submission #434451

Source codeソースコード

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

class Myon
{

    public Myon() { }
    public static int Main()
    {
        new Myon().calc();
        return 0;
    }

    Scanner cin;

    int[,] b = new int[3, 3];
    int[,] c = new int[3, 3];
    int[,] used = new int[3, 3];
    int N = 3;

    int dfs(int d)
    {
        if (d == 9)
        {
            //全部埋まった時
            int ans = 0;
            for (int i = 0; i < N - 1; i++)
            {
                for (int j = 0; j < N; j++)
                {
                    if (used[i, j] == used[i + 1, j])
                    {
                        ans += b[i, j];
                    }
                }
            }

            for (int i = 0; i < N; i++)
            {
                for (int j = 0; j < N - 1; j++)
                {
                    if (used[i, j] == used[i, j + 1])
                    {
                        ans += c[i, j];
                    }
                }
            }
            return ans;
        }
        //直大くんのターン
        else if (d % 2 == 0)
        {
            int ans = 0;
            for (int i = 0; i < N; i++)
            {
                for (int j = 0; j < N; j++)
                {
                    if (used[i, j] != 0) continue;
                    
                    used[i, j] = 1;
                    int temp = dfs(d + 1);
                    ans = Math.Max(temp, ans);
                    used[i, j] = 0;
                }
            }
            return ans;
        }
        //直子さんのターン
        else
        {
            int ans = 9999999;
            for (int i = 0; i < N; i++)
            {
                for (int j = 0; j < N; j++)
                {
                    if (used[i, j] != 0) continue;

                    used[i, j] = 2;
                    int temp = dfs(d + 1);
                    ans = Math.Min(temp, ans);
                    used[i, j] = 0;
                }
            }
            return ans;
        }
    }


    void calc()
    {
        cin = new Scanner();
        int sum = 0;
        for (int i = 0; i < N - 1; i++)
        {
            for (int j = 0; j < N; j++)
            {
                b[i, j] = cin.nextInt();
                sum += b[i, j];
            }
        }

        for (int i = 0; i < N; i++)
        {
            for (int j = 0; j < N - 1; j++)
            {
                c[i, j] = cin.nextInt();
                sum += c[i, j];
            }
        }
        int ans = dfs(0);
        int ans2 = sum - ans;
        Console.WriteLine(ans);
        Console.WriteLine(ans2);
    }

}





class Scanner
{
    string[] s;
    int i;

    char[] cs = new char[] { ' ' };

    public Scanner()
    {
        s = new string[0];
        i = 0;
    }

    public string next()
    {
        if (i < s.Length) return s[i++];
        string st = Console.ReadLine();
        while (st == "") st = Console.ReadLine();
        s = st.Split(cs, StringSplitOptions.RemoveEmptyEntries);
        i = 0;
        return next();
    }

    public int nextInt()
    {
        return int.Parse(next());
    }

    public long nextLong()
    {
        return long.Parse(next());
    }

    public double nextDouble()
    {
        return double.Parse(next());
    }

}

Submission

Task問題 C - 双子と○×ゲーム
User nameユーザ名 chokudai
Created time投稿日時
Language言語 C# (Mono 3.2.1.0)
Status状態 AC
Score得点 100
Source lengthソースコード長 3530 Byte
File nameファイル名
Exec time実行時間 252 ms
Memory usageメモリ使用量 8928 KB

Test case

Set

Set name Score得点 / Max score Cases
Sample - sample-01.txt,sample-02.txt
All 100 / 100 test-01.txt,test-02.txt,test-03.txt,test-04.txt,test-05.txt,test-06.txt,test-07.txt,test-08.txt,test-09.txt,test-10.txt,test-11.txt,test-12.txt,test-13.txt,test-14.txt,test-15.txt,test-16.txt,test-17.txt,test-18.txt,test-19.txt,test-20.txt,sample-01.txt,sample-02.txt

Test case

Case name Status状態 Exec time実行時間 Memory usageメモリ使用量
sample-01.txt AC 248 ms 8864 KB
sample-02.txt AC 252 ms 8864 KB
test-01.txt AC 241 ms 8908 KB
test-02.txt AC 244 ms 8876 KB
test-03.txt AC 249 ms 8860 KB
test-04.txt AC 248 ms 8852 KB
test-05.txt AC 249 ms 8864 KB
test-06.txt AC 242 ms 8808 KB
test-07.txt AC 241 ms 8868 KB
test-08.txt AC 239 ms 8812 KB
test-09.txt AC 238 ms 8816 KB
test-10.txt AC 239 ms 8836 KB
test-11.txt AC 239 ms 8856 KB
test-12.txt AC 243 ms 8792 KB
test-13.txt AC 242 ms 8868 KB
test-14.txt AC 241 ms 8856 KB
test-15.txt AC 241 ms 8864 KB
test-16.txt AC 246 ms 8928 KB
test-17.txt AC 242 ms 8856 KB
test-18.txt AC 239 ms 8824 KB
test-19.txt AC 239 ms 8868 KB
test-20.txt AC 239 ms 8860 KB