Список вопросов
Страна замов. Напишите программу на Python
10th December, 18:14
419
0
На листе клетчатой бумаги рисуют выпуклый 100-угольник с вершинами в узлах сетки. Какое наибольшее число диагоналей этого 100-угольника может идти по линиям сетки?
7th November, 15:29
275
0
Рассмотрим все прямоугольники, длины сторон которых выражены целым числом метров, и периметр которых (в метрах) численно равняется площади (в метрах квадратных). Найдите суммарную площадь всех таких, разных по размеру сторон, прямоугольников.Прямоугольники, отличающиеся порядком сторон, например, 10 * 20 и 20 * 10 считаем одинаковыми.
7th October, 20:57
745
0
Кто и за сколько может написать программу управления курсором?
2nd October, 23:48
503
3
Как авторизоваться на novafilm.tv при помощи cURL?
2nd October, 23:33
384
3
Верстка, position:relative создает пустое место
2nd October, 23:31
329
2
Что улучшить в переводе Apache Public License?
2nd October, 23:29
330
1
Формирование кода видео Вконтакте
2nd October, 23:23
408
3
IPad2 с 3G из Штатов?
2nd October, 23:18
376
5
А будет ли tcpdump видеть ack flood?
2nd October, 23:14
295
2
Альфа банк и странное смс мошенничество?
2nd October, 23:05
671
6
Софт для "ремонта" поврежденного h264 видео?
2nd October, 22:55
306
3
Scrapy — Python
2nd October, 22:54
316
4
Помощь с доставкой из США?
2nd October, 22:47
344
3
Создание stop-motion ролика
2nd October, 22:41
378
5
Верстка ul/li в несколько колонок?
2nd October, 22:41
277
13
Существует ли поисковик, отсортированный по дате?
2nd October, 22:32
312
3
Вопрос к пользователям HTC HD7?
2nd October, 22:32
334
2
Как получить путь к аватару пользователя когда он авторизируется на сайте через openid google?
2nd October, 22:20
348
2
Что случилось с Кенгуру.ТВ?
2nd October, 22:19
385
3
Решение задачи Выпуклая оболочка с Меньшиков
Без пояснения   Просмотров: 263
На плоскости заданы N точек своими декартовыми координатами. Найти минимальный периметр многоугольника, содержащего все эти точки. Гарантируется, что искомый многоугольник имеет ненулевую площадь.
Код
#include #include #include #include using namespace std; struct point { int x,y; point(){} point(int X, int Y) { x = X; y = Y; } }; bool operator != (const point &a, const point &b) { return !(a.x == b.x && a.y == b.y); } double dist (const point &a, const point &b) { return sqrt( 0.0 + (a.x - b.x) * (a.x - b.x) + (a.y - b.y) * (a.y - b.y)); } int n; vector mas; vector convex_hull; double P; void input() { cin>>n; mas.resize(n); for (int i=0;i b; } bool Less(const double &a, const double &b) { return !Equal(a,b) && a < b; } double CosAngle(const point &prev,const point &cur,const point &next) { point v1(next.x - cur.x, next.y - cur.y); point v2(prev.x - cur.x, prev.y - cur.y); return (v1.x * v2.x + v1.y * v2.y) / (dist(prev,cur) * dist(cur,next)); } void ConvexHullJarvis(const vector &mas, vector &convex_hull) { // находим самую левую из самых нижних int base = 0; for (int i=1;i
 
 
 
 
 
Автор: Администратор
