Решение задачи "Хан Соло и лазерная пушка " с Codeforces

Без пояснения   Просмотров: 14


На поле боя размещены n имперских штурмовиков. Поле боя представляет собой плоскость с прямоугольной системой координат. Каждый штурмовик задан своими координатами (x, y) на этой плоскости.

У Хана Соло есть новейшая двусторонняя лазерная пушка для сражения с этими штурмовиками. Она расположена в точке с координатами (x0, y0). За один выстрел она способна поразить всех штурмовиков, находящихся на некоторой прямой, проходящей через точку (x0, y0).

Требуется определить, за какое минимальное количество выстрелов Хан Соло сможет уничтожить всех штрумовиков.

Так как пушка — новейшее изобретение, она стреляет очень быстро и штурмовики даже после очень большого количества выстрелов не успевают понять, что происходит, и сменить свое местоположение.

Код

#include<bits/stdc++.h>
using namespace std;

int main()
{
    int n;
    double x, y, a, b, c = 0;
    cin >> n >> x >> y;
    set<double>s;

    for(int i =0 ; i< n ; i++){
        cin >> a >> b;
        if(a - x != 0)
            s.insert((y - b)/(x - a));
        else 
            c = 1;
    }
    cout << s.size() + c;
	return 0;
}

         

 Администратор Photo Автор: Администратор


Отправить решение задачи
Чтобы отправить решение вам нужно войти в систему или зарегистрироваться

Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться