Решение задачи A второго квалификационного раунда Russian Code Cup (2011 год)


«A» Круговая диаграмма (все задачи второго квалификационного раунда)
Ограничение по времени 2 секунды
Ограничение по памяти 256 мегабайт
  Для графического изображения соотношения между различного рода величинами во многих областях  человеческой деятельности используются различные графики и диаграммы. Одним из типов диаграмм является так называемая круговая диаграмма.Исходными данными для этой диаграммы является набор чисел a1, …, an,а диаграмма представляет собой круг радиуса r, разделенный на секторы. При этом каждому из чисел соответствует ровно один сектор, площадь которого пропорциональна этому числу. Общая площадь секторов равна площади круга.Ваша задача состоит в том, чтобы по набору чисел и по радиусу круга определить площадь каждого из секторов круговой диаграммы.
Формат входных данных Первая строка содержит два целых числа n и r (1 ≤ n, r ≤ 100). Вторая строка содержит n целых чисел a1, …, an  (1 ≤ ai ≤ 100 для всех i от 1 до n).
Формат выходных данных Выведите n вещественных чисел — площади секторов, соответствующих  числам a1, …, an. Выводите каждое из чисел в отдельной строке. Все эти числа должны быть выведены  с точностью не хуже 10-6.
Примеры
Входные данные Выходные данные
3 2
1 4 3
1.570796327
6.283185307
4.712388980


Мое решение

using System;

class PieChart
{
  static void Main()
  {
    int n, r, part;
    int total = 0;
    char [] delim = new char[]{' '};

    string[] numbers = Console.ReadLine().Split(delim);
    n = Convert.ToInt32(numbers[0]);
    r = Convert.ToInt32(numbers[1]);

    double area = Math.PI * r * r;
    string[] nums = Console.ReadLine().Split(delim);
    int[] a = new int[n];
    for (int i = 0; i < n; i++)
    {
      a[i] = Convert.ToInt32(nums[i]);
      total += a[i];
    }
    part = total / n;
    for (int i = 0; i < n; i++)
    {
      Console.WriteLine(area * a[i] / total);
    }
    Console.Read();
  }
}
Реклама
Запись опубликована в рубрике программирование с метками , , . Добавьте в закладки постоянную ссылку.

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s