Школа программиста

Забыли пароль?
[задачи] [курсы] [олимпиады] [регистрация]
Логин:   Пароль:    
Скрыть меню
О школе
Правила
Олимпиады
Фотоальбом
Гостевая
Форум
Архив олимпиад
Архив задач
Состояние системы
Рейтинг
Курсы
Новичкам
Работа в системе
Курсы ККДП
Дистрибутивы
Статьи
Ссылки


 
Вернуться
Тема: Господа! Подскажите идею решеня задачи Е.
1
  1  Чабаненко Владислав Дмитриевич, 23 ноября 2009 г. 18:13:02
      не понимаю зачем сортировать, ведь связность потеряем, я исправил свою прогу хочу потестировать
  2  Прищенко Богдан Олегович, 22 ноября 2009 г. 22:40:04
      На той странице, где сдавать задачи во время самой олимпиады. Свои можно посмотреть и до этой, как ее... оттепели... а, разморозки:)
  3  Мырзаханов Айдар Канатович, 22 ноября 2009 г. 22:13:36
      Извиняюсь за невежество)) А таблица разве не заморожена? Если нет, то где вы баллы смотрите?
  4  Демиденко Виталий, 22 ноября 2009 г. 18:18:34
      Я без сортировки набрал 61 балл:)
  5  Нагин Сергей Юрьевич, 22 ноября 2009 г. 18:08:26
      и Сколько набрало???
  6  Aлдан Али-Амир, 22 ноября 2009 г. 16:42:05
      У меня нечто подобное, только вместо макс угла вектор
  7  Aлдан Али-Амир, 22 ноября 2009 г. 16:41:39
      У меня нечто подобное, только вместо макс угла вектор
  8  Aлдан Али-Амир, 22 ноября 2009 г. 16:39:51
      У меня нечто подобное, только вместо макс угла вектор
  9  Нагин Сергей Юрьевич, 22 ноября 2009 г. 16:32:40
      Там просто надо было брать одну точку, и все следующие, хранить максимальный угол, если текущий меньше то точка не подходит, иначе к ответу этой точки и точки "опора" добавляем еденицу! Ну и ставим за макс угол наш текущий если он больше! У мну видимо пролет на сравнении углов! Надо все-же "злые" вектора юзать!
  10  Чабаненко Владислав Дмитриевич, 22 ноября 2009 г. 16:28:00
      незнаю, ты скажи почему у меня решение неправильное, дай пример
  11  Нагин Сергей Юрьевич, 22 ноября 2009 г. 16:26:51
      93 тоже не плохо! А в math есть прерменная eps???
  12  Нагин Сергей Юрьевич, 22 ноября 2009 г. 16:24:55
      Я походу с точностью на 7 баллов залдител! Ну то ладно....
  13  Чабаненко Владислав Дмитриевич, 22 ноября 2009 г. 16:15:49
      я сортировал по х, и потом ориентированной площадью, но только 36 быллов, ОБЪЯСНИ ПОЧЕМУ НЕПРАВИЛЬНО?
  14  Нагин Сергей Юрьевич, 22 ноября 2009 г. 15:33:33
      мда... Зачем так трудно??) Можно - же просто юзать arctan2 ,Вектор - зло)))
  15  Aлдан Али-Амир, 22 ноября 2009 г. 15:19:28
      Нужно просто сравнивать косым произведением.
//Solution by Ali-Amir Aldan
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <vector>
using namespace std;

struct Point
{
int x, h, p, x1, y1;
bool operator < (const Point &a) const
{
if (a.x < x) return 0;
return 1;
}
} a[5000];
int n;
int res[5000];

int main ()
{
freopen ( "input.txt", "r", stdin );
freopen ( "output.txt", "w", stdout );
scanf ( "%d", &n );
for ( int i = 0; i < n; i++ )
{
scanf ( "%d%d", &a[i].x, &a[i].h );
a[i].p = i;
}
sort (a, a + n);
for ( int i = 0; i < n; i++ )
a[i].x1 = 0, a[i].y1 = -10;
for ( int i = 1; i < n; i++ )
for ( int j = 0; j < i; j++ )
if (a[j].x1*1ll*(a[i].h - a[j].h) - a[j].y1*1ll*(a[i].x - a[j].x) >= 0)
{
a[j].x1 = a[i].x - a[j].x;
a[j].y1 = a[i].h - a[j].h;
res[a[j].p]++; res[a[i].p]++;
}
for ( int i = 0; i < n; i++ )
printf ( "%d\n", res[i] );
return 0;
}
  16  Нагин Сергей Юрьевич, 22 ноября 2009 г. 14:10:44
      Там Н*Н...
  17  Нагин Сергей Юрьевич, 22 ноября 2009 г. 14:10:33
      Просто отсортируй и иди по углу....
1

Чтобы оставить сообщение необходимо зарегистрироваться и авторизоваться!

Красноярский краевой Дворец пионеров, (c)2006 - 2026, ИНН 246305493507, E-mail: admin@acmp.ru