Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Temirlan90
134 / 134 / 25
Регистрация: 30.09.2010
Сообщений: 333
1

Охотник

17.05.2011, 15:09. Просмотров 527. Ответов 0
Метки нет (Все метки)

Охотник
(Время: 1 сек. Память: 16 Мб)

Сезон охоты очень не долог, и поэтому оставшуюся часть года заядлые охотники развлекают себя тем, что стреляют по мишеням в тире. Тир представляет собой плоскость, на которой расставлены мишени. Размерами мишеней можно пренебречь и считать их точками с координатами (x, y). Также известно, что мишени сделаны из картона, поэтому за один выстрел можно поразить сразу все мишени, стоящие на линии выстрела. В начале координат стоит охотник и у него остался последний патрон. Охотник хочет использовать его эффективно – то есть за один выстрел поразить как можно больше целей. Помогите ему в этом.
Входные данные

В первой строке входного файла INPUT.TXT находится натуральное число N (N <= 100) – количество мишеней в тире. Далее следует N строк – описание мишеней. В (i+1)-й строке находится два целых числа x и y (-100 <= x, y <= 100) – координаты i-й мишени. Не существует двух мишеней, стоящих в одной точке, и никакая мишень не стоит в начале координат.
Выходные данные

В выходной файл OUTPUT.TXT выведите максимальное количество мишеней, которое может подстрелить охотник за один выстрел.
Примеры
INPUT.TXT
1
1 1
OUTPUT.TXT
1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
    freopen("input.txt", "r", stdin);
    freopen("output.txt", "w", stdout);
    int arr[202][2], n, k = 1;
    cin >> n;
    for(int i = 0; i < n; ++i) {
        cin >> arr[i][0] >> arr[i][1];
    }
    for(int i = 0; i < n - 1; ++i) {
        int x1, x2, y1, y2;
        x1 = arr[i][0];
        x2 = arr[i + 1][0];
        y1 = arr[i][1];
        y2 = arr[i + 1][1];
        if ((x1 * x2 > 0) || (y1 * y2 > 0)) {
            if (x1 != 0 && x2 != 0) {
                if (y1 / x1 == y2 / x2)
                    k++;    
            }
            else if (y1 != 0 && y2 != 0) {
                if (x1 / y1 == x2 / y2)
                    k++;
            }
        }
    }
    cout << k;
    return 0;
}
9 тест проваливает, контр аргумент
4
2 2
4 4
-2 -2
-4 -4
выдает 3 а должен 2
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.05.2011, 15:09
Ответы с готовыми решениями:

Охотник acmp
Привет всем. Решаю такую задачу: Сезон охоты очень не долог, и поэтому...

"Каждый охотник желает знать, где сидят фазаны"
Написать программу, которая выводит на экран фразу: &quot;Каждый охотник желает...

Игра охотник-жертва: Жертва убегает от охотника, а охотник выбирает кратчайший путь до жертвы
Есть 2 точки: одна - охотник, другая - жертва. Жертва убегает от охотника, а...

Охотник
Охотник, имеющий 4 патрона, стреляет по дичи до первого попадания или до...

Игра Охотник и Противник
В верхней части окна приложения непрерывно движется объект «Противник ». В...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.05.2011, 15:09

Охотник сделал 3 выстрела по кабану
Охотник сделал 3 выстрела по кабану. Вероятность попадания первым выстрелом...

Охотник выстрелил по удаляющейся цели 3 раза. Вероятность 0.7
Охотник выстрелил по удаляющейся цели 3 раза.Вероятность попадания в нее в...

Охотник произвел три выстрела по лисе.Вероятность убить лису первым, вторым
1) Охотник произвел три выстрела по лисе. Вероятность убить лису первым,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru