3593 2023. 03. 01 09:30:21 AGergo Rácsháló gráf csharp Időlimit túllépés 28/50 601ms 23960 KiB
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace graf
{
    class Program
    {
        static void Main(string[] args)
        {

            string[] be = Console.ReadLine().Split();

            int n = int.Parse(be[0]);
            int m = int.Parse(be[1]);

            int k = int.Parse(be[2]);

            int[,] dist = new int[n * m + 1, n * m + 1];

            for (int i = 1; i < n*m+1; i++)
            {
                for (int j = 1; j < n * m+1; j++)
                {
                    dist[i, j] = 201;
                }
            }

            int down = 0;
            int up = 0;
            int left = 0;
            int right = 0;

            for (int i = 1; i < n*m+1; i++)
            {
                if ((i-1)/m == 0)
                {
                    up = 0;
                    down = i + m;
                }
                else if ((i-1)/m == n-1)
                {
                    up = i - m;
                    down = 0;
                }
                else
                {
                    up = i - m;
                    down = i + m;
                }

                if (i % m == 1)
                {
                    left = 0;
                    right = i + 1;
                }
                else if (i % m == 0)
                {
                    left = i - 1;
                    right = 0;
                }
                else
                {
                    left = i - 1;
                    right = i + 1;
                }
                //Console.WriteLine(i + "-" + up + " " + down + " " + left + " " + right);

                dist[i, up] = 1;
                dist[up, i] = 1;
                dist[i, down] = 1;
                dist[down, i] = 1;
                dist[i, left] = 1;
                dist[left, i] = 1;
                dist[i, right] = 1;
                dist[right, i] = 1;
            }

            int largest = 0;
            List<int> ll = new List<int>();

            for (int i = 0; i < k; i++)
            {
                largest = 0;
                be = Console.ReadLine().Split();

                dist[int.Parse(be[0]), int.Parse(be[1])] = 1;
                dist[int.Parse(be[1]), int.Parse(be[0])] = 1;


                for (int sta = 1; sta < n*m+1; sta++)
                {
                    for (int end = 1; end < n*m+1; end++)
                    {
                        for (int koz = 1; koz < n*m+1; koz++)
                        {
                            //if (sta == end || dist[sta,end] == 1)
                            //{
                            //    break;
                            //}

                            if (dist[sta,end] > dist[sta,koz] + dist[koz, end]) //problema -> előbb nezi meg d[4,9]-t mint 
                            {
                                dist[sta, end] = dist[sta, koz] + dist[koz, end];
                                dist[end, sta] = dist[sta, koz] + dist[koz, end];
                            }
                        }
                    }
                }

                for (int x = 1; x < n*m+1; x++)
                {
                    for (int y = x + 1; y < n*m+1; y++)
                    {
                        if (dist[x,y] > largest)
                        {
                            largest = dist[x, y];
                        }
                    }
                }

                //Console.WriteLine(largest);
                ll.Add(largest);
            }

            foreach (var item in ll)
            {
                Console.WriteLine(item);
            }

            Console.ReadLine();
        }
    }
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 28/50
1 Elfogadva 0/0 32ms 20680 KiB
2 Időlimit túllépés 0/0 601ms 4480 KiB
3 Elfogadva 2/2 32ms 21772 KiB
4 Elfogadva 2/2 32ms 21920 KiB
5 Elfogadva 2/2 32ms 22268 KiB
6 Elfogadva 2/2 35ms 22172 KiB
7 Elfogadva 2/2 141ms 22344 KiB
8 Hibás válasz 0/2 138ms 22604 KiB
9 Elfogadva 2/2 138ms 22552 KiB
10 Elfogadva 2/2 57ms 22684 KiB
11 Elfogadva 2/2 138ms 23108 KiB
12 Időlimit túllépés 0/2 564ms 6360 KiB
13 Időlimit túllépés 0/3 542ms 6304 KiB
14 Elfogadva 3/3 171ms 23460 KiB
15 Időlimit túllépés 0/3 569ms 6588 KiB
16 Hibás válasz 0/3 143ms 23160 KiB
17 Időlimit túllépés 0/3 549ms 6684 KiB
18 Elfogadva 3/3 250ms 23836 KiB
19 Hibás válasz 0/3 32ms 23524 KiB
20 Elfogadva 3/3 39ms 23620 KiB
21 Elfogadva 3/3 337ms 23960 KiB
22 Időlimit túllépés 0/3 560ms 7436 KiB