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

Обсуждение задачи 1020. Ниточка

Please, help realize mistake in C# code.
Послано feldsherov 24 окт 2012 13:42
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
using System.Globalization;

namespace _1020_thread{
    class pt{
        double x, y;
        public pt(double _x, double _y) {
            x = _x;
            y = _y;
        }
        public static pt operator- (pt p1, pt p2) {
            return new pt(p1.x - p2.x, p1.y - p2.y);
        }
        public static pt operator+ (pt p1, pt p2)  {
            return new pt(p1.x + p2.x, p1.y + p2.y);
        }
        public double len() {
            return Math.Sqrt(x * x + y * y);
        }
    }

    class Program{
        int n;
        double r, ans;
        List<pt> a;
        void Read(){
            string[] s = Console.ReadLine().Split();
            a = new List<pt>();
            n = int.Parse(s[0]);
            r = double.Parse(s[1]);
            for (int i = 0; i < n; ++i) {
                s = Console.ReadLine().Split();
                a.Add(new pt(double.Parse(s[0]), double.Parse(s[1])));
            }
        }
        int next(List<pt> a, int i) {
            return (i + 1) % a.Count;
        }

        void Solve() {
            for (int i = 0; i < a.Count; ++i)
                ans += (a[i] - a[next(a, i)]).len();
            ans += Math.PI * 2 * r;
        }
        void Print() {
            NumberFormatInfo nfi = NumberFormatInfo.InvariantInfo;
            Console.WriteLine(string.Format(nfi, "{0:F2}", ans));
        }

        static void Main(string[] args){
            //System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");
            System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.InvariantCulture;
            Program p = new Program();
            p.Read();
            p.Solve();
            p.Print();
        }
    }
}

I have solve this problem using C++ without any problems. This code correct solve sample in statement and I can't find any mistakes in it, but it catch WA 1.


Edited by author 24.10.2012 13:42