Submission #1780236


Source Code Expand

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace B
{
    class Program
    {
        static bool isPush(int[] dp,int value)
        {
            if (value >= 41) return false;
            if (dp[value] != int.MaxValue) return false;
            return true;
        }

        static void Main(string[] args)
        {
            string[] param = Console.ReadLine().Split(' ');
            int A = int.Parse(param[0]);
            int B = int.Parse(param[1]);

            int diff = Math.Abs(A - B);
            int[] dp = Enumerable.Repeat(int.MaxValue,41).ToArray();
            dp[0] = 0;
            Queue<int> queue = new Queue<int>();
            queue.Enqueue(0);
            while (true)
            {
                var current = queue.Dequeue();
                if (current == diff) break;
                int next = Math.Abs(current - 1);
                //一度下げる
                if (isPush(dp, next))
                {
                    dp[next] = dp[current] + 1;
                    queue.Enqueue(next);
                }
                next = Math.Abs(current + 1);
                //一度あげる
                if (isPush(dp, next))
                {
                    dp[next] = dp[current] + 1;
                    queue.Enqueue(next);
                }
                next = Math.Abs(current - 5);
                //5度下げる
                if (isPush(dp, next))
                {
                    dp[next] = dp[current] + 1;
                    queue.Enqueue(next);
                }
                next = Math.Abs(current + 5);
                //5度あげる
                if (isPush(dp, next))
                {
                    dp[next] = dp[current] + 1;
                    queue.Enqueue(next);
                }
                next = Math.Abs(current - 10);
                //10度下げる
                if (isPush(dp, next))
                {
                    dp[next] = dp[current] + 1;
                    queue.Enqueue(next);
                }
                next = Math.Abs(current + 10);
                //10度あげる
                if (isPush(dp, next))
                {
                    dp[next] = dp[current] + 1;
                    queue.Enqueue(next);
                }
            }
            
            Console.WriteLine(dp[diff]);
        }
    }
}

Submission Info

Submission Time
Task B - リモコン
User define0314
Language C# (Mono 4.6.2.0)
Score 100
Code Size 2506 Byte
Status AC
Exec Time 24 ms
Memory 13396 KB

Judge Result

Set Name All
Score / Max Score 100 / 100
Status
AC × 35
Set Name Test Cases
All 00_maxdiff.txt, 00_maxret.txt, 00_sample1.txt, 00_sample2.txt, 00_sample3.txt, 01_rnd_00.txt, 01_rnd_01.txt, 01_rnd_02.txt, 01_rnd_03.txt, 01_rnd_04.txt, 01_rnd_05.txt, 01_rnd_06.txt, 01_rnd_07.txt, 01_rnd_08.txt, 01_rnd_09.txt, 01_rnd_10.txt, 01_rnd_11.txt, 01_rnd_12.txt, 01_rnd_13.txt, 01_rnd_14.txt, 01_rnd_15.txt, 01_rnd_16.txt, 01_rnd_17.txt, 01_rnd_18.txt, 01_rnd_19.txt, 01_rnd_20.txt, 01_rnd_21.txt, 01_rnd_22.txt, 01_rnd_23.txt, 01_rnd_24.txt, 01_rnd_25.txt, 01_rnd_26.txt, 01_rnd_27.txt, 01_rnd_28.txt, 01_rnd_29.txt
Case Name Status Exec Time Memory
00_maxdiff.txt AC 24 ms 11348 KB
00_maxret.txt AC 23 ms 11348 KB
00_sample1.txt AC 23 ms 11348 KB
00_sample2.txt AC 23 ms 11348 KB
00_sample3.txt AC 24 ms 11348 KB
01_rnd_00.txt AC 24 ms 13396 KB
01_rnd_01.txt AC 24 ms 13396 KB
01_rnd_02.txt AC 24 ms 11348 KB
01_rnd_03.txt AC 23 ms 9300 KB
01_rnd_04.txt AC 23 ms 11348 KB
01_rnd_05.txt AC 23 ms 11348 KB
01_rnd_06.txt AC 24 ms 13396 KB
01_rnd_07.txt AC 23 ms 9300 KB
01_rnd_08.txt AC 23 ms 11348 KB
01_rnd_09.txt AC 24 ms 11348 KB
01_rnd_10.txt AC 24 ms 13396 KB
01_rnd_11.txt AC 23 ms 11348 KB
01_rnd_12.txt AC 23 ms 9300 KB
01_rnd_13.txt AC 23 ms 11348 KB
01_rnd_14.txt AC 24 ms 11348 KB
01_rnd_15.txt AC 24 ms 11348 KB
01_rnd_16.txt AC 24 ms 11348 KB
01_rnd_17.txt AC 24 ms 11348 KB
01_rnd_18.txt AC 24 ms 11348 KB
01_rnd_19.txt AC 23 ms 11348 KB
01_rnd_20.txt AC 24 ms 11348 KB
01_rnd_21.txt AC 24 ms 11348 KB
01_rnd_22.txt AC 23 ms 11348 KB
01_rnd_23.txt AC 24 ms 11348 KB
01_rnd_24.txt AC 24 ms 13396 KB
01_rnd_25.txt AC 23 ms 9300 KB
01_rnd_26.txt AC 23 ms 11348 KB
01_rnd_27.txt AC 23 ms 11348 KB
01_rnd_28.txt AC 24 ms 11348 KB
01_rnd_29.txt AC 23 ms 9300 KB