ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила
вернуться в форум

Обсуждение задачи 1869. Новогодний круиз

where is mistake?
Послано Vadim_Egorov 4 июн 2014 08:54
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace _1869_2
{
    class Program
    {
        static void Main(string[] args)
        {
            Random random = new Random();
            int rand;
            int i, j, k, max;



            int N = int.Parse(Console.ReadLine());
            int[,] A = new int[100, 100];

            for (i = 0; i <N; ++i)
                for (j = 0; j <N; ++j)
                {
                    if (i == j)
                        A[i, j] = 0;
                    else
                    {
                        rand = random.Next(0, 1000);
                        A[i, j] = rand;
                    }
                }
            for (i = 0; i < N; i++)
                for (j = 0; j < N; j++)
                {
                    if (A[i,j] == 0)
                        continue;

                    // Vladi -> Moscow
                    if (i < j && j - i > 1)
                    {
                        for (k = i; k < j; k++)
                        {
                            A[k,k + 1] += A[i,j];
                        }
                    }
                    // Moscow -> Vladi
                    else if (i > j && i - j > 1)
                    {
                        for (k = i; k > j; k--)
                        {
                            A[k,k - 1] += A[i,j];
                        }
                    }
                };

            // get maximum for each pair of stations
            max = 0;
            for (i = 0; i < N - 1; i++)
            {
                if (Math.Max(A[i,i + 1], A[i + 1,i]) > max)
                {
                    max = Math.Max(A[i, i + 1], A[i + 1, i]);
                }
            }
            if (max % 36 == 0)
            {
                max /= 36;
                Console.WriteLine(max);
            }
            else
            {
                max /= 36;
                max = max + 1;
                Console.WriteLine(max);
            }

            //Console.ReadKey();

        }
    }
}