結果

問題 No.149 碁石の移動
ユーザー Maeda
提出日時 2025-04-11 14:04:57
言語 C#
(.NET 8.0.404)
結果
WA  
実行時間 -
コード長 1,536 bytes
コンパイル時間 9,406 ms
コンパイル使用メモリ 172,496 KB
実行使用メモリ 186,444 KB
最終ジャッジ日時 2025-04-11 14:05:08
合計ジャッジ時間 9,856 ms
ジャッジサーバーID
(参考情報)
judge1 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3 WA * 1
other AC * 4 WA * 9
権限があれば一括ダウンロードができます
コンパイルメッセージ
  復元対象のプロジェクトを決定しています...
  /home/judge/data/code/main.csproj を復元しました (132 ミリ秒)。
  main -> /home/judge/data/code/bin/Release/net8.0/main.dll
  main -> /home/judge/data/code/bin/Release/net8.0/publish/

ソースコード

diff #

    class Program
    {
        static void Main(string[] args)
        {
            int[] bagA = Array.ConvertAll(Console.ReadLine().Split(' '), num => int.Parse(num));
            int[] bagB = Array.ConvertAll(Console.ReadLine().Split(' '), num => int.Parse(num));
            int[] turn = Array.ConvertAll(Console.ReadLine().Split(' '), num => int.Parse(num));
            var result = MoveStone(bagA, bagB[0], turn[0]);

            if (result.white < turn[1])
            {
                result.remainder += result.white;
            }
            else
            {
                result.remainder += result.white - turn[1];
            }
                Console.WriteLine(result.remainder);
        }

        /// <summary>
        /// 
        /// </summary>
        /// <param name="bagA"></param>
        /// <param name="v1"></param>
        /// <param name="v2"></param>
        /// <returns> remainder:移動後のbagAの白色の碁石 white:</returns>
        private static (int remainder , int white) MoveStone(int[] bagA, int v1, int v2)
        {
            int blackRem = v2 - bagA[1];
            if(blackRem < 0)
            {
                blackRem *= -1;
            }
            int remainder = 0;
            if (remainder < 0)
            {
                remainder = 0;
                v1 += bagA[0];
            }
            else
            {
                remainder = bagA[0] - blackRem;
                v1 += blackRem;
            }
                return (remainder, v1);
        }
    }  
0