Submission #3146681


Source Code Expand

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

namespace AtCoder
{
    class Program
    {
        static void Main(string[] args)
        {
            //[summary]A - 2点間距離の最大値 ( The longest distance )

            var items = GetItemsFromReadLines<int>().ToList();

            //考え得る距離をすべて計算
            var distances = CalcDistances(items).ToList();

            //距離の最大値を出力
            var longestDistance = distances.Max();

            Console.WriteLine(longestDistance);
        }

        static IEnumerable<double> CalcDistances(List<List<int>> items)
        {
            for(int i = 0; i < items.Count; i++)
            {
                int x1 = items[i][0];
                int y1 = items[i][1];

                for(int j = 0; j < items.Count; j++)
                {
                    if (j != i)
                    {
                        int x2 = items[j][0];
                        int y2 = items[j][1];

                        //公式に当てはめて2点間の距離を計算
                        double d = Math.Sqrt(Math.Pow(x1 - x2, 2) + Math.Pow(y1 - y2, 2));
                        yield return d;
                    }
                }
            }
        }

        static IEnumerable<List<T>> GetItemsFromReadLines<T>(int count = 0, char separator = ' ')
        {
            //[summary]コンソールの値を読み込んで、List<T>のコレクションを返却

            //読み込む行数が未指定のときは、1行目の値を"count"とみなす
            if (count == 0)
            {
                string line = Console.ReadLine().TrimEnd();
                count = int.Parse(line);
            }
            
            for(int i = 0; i < count; i++)
            {
                //コンソールを1行読み込み
                string line = Console.ReadLine().TrimEnd();

                //読み込んだ値を"separator"で区切る
                var list = line.Split(separator).ToList();

                //int型のときは数値に変換
                if (typeof(T) == typeof(int))
                {
                    var numbers = list.ConvertAll(int.Parse);
                    yield return (List<T>)(object)numbers;
                }
                else
                {
                    yield return (List<T>)(object)list;
                }
            }
        }
    }
}

Submission Info

Submission Time
Task A - 2点間距離の最大値 ( The longest distance )
User tad092626
Language C# (Mono 4.6.2.0)
Score 100
Code Size 2530 Byte
Status AC
Exec Time 28 ms
Memory 13536 KB

Judge Result

Set Name All
Score / Max Score 100 / 100
Status
AC × 26
Set Name Test Cases
All 00_max.txt, 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, 00_sample_04.txt, 00_sample_05.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
Case Name Status Exec Time Memory
00_max.txt AC 28 ms 9428 KB
00_sample_01.txt AC 25 ms 11348 KB
00_sample_02.txt AC 25 ms 11348 KB
00_sample_03.txt AC 25 ms 9428 KB
00_sample_04.txt AC 25 ms 11476 KB
00_sample_05.txt AC 26 ms 11348 KB
01_rnd_00.txt AC 27 ms 11456 KB
01_rnd_01.txt AC 27 ms 13504 KB
01_rnd_02.txt AC 27 ms 11488 KB
01_rnd_03.txt AC 27 ms 11488 KB
01_rnd_04.txt AC 27 ms 11488 KB
01_rnd_05.txt AC 26 ms 11488 KB
01_rnd_06.txt AC 27 ms 13536 KB
01_rnd_07.txt AC 27 ms 11488 KB
01_rnd_08.txt AC 26 ms 11456 KB
01_rnd_09.txt AC 27 ms 13536 KB
01_rnd_10.txt AC 27 ms 13536 KB
01_rnd_11.txt AC 27 ms 13536 KB
01_rnd_12.txt AC 27 ms 11488 KB
01_rnd_13.txt AC 27 ms 11488 KB
01_rnd_14.txt AC 26 ms 9440 KB
01_rnd_15.txt AC 27 ms 11488 KB
01_rnd_16.txt AC 27 ms 11488 KB
01_rnd_17.txt AC 26 ms 9440 KB
01_rnd_18.txt AC 26 ms 11488 KB
01_rnd_19.txt AC 26 ms 11456 KB