ENG  RUSTimus Online Judge
Online Judge
Problems
Authors
Online contests
About Online Judge
Frequently asked questions
Site news
Webboard
Links
Problem set
Submit solution
Judge status
Guide
Register
Update your info
Authors ranklist
Current contest
Scheduled contests
Past contests
Rules
back to board

Discussion of Problem 1020. Rope

Please, help realize mistake in C# code.
Posted by feldsherov 24 Oct 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