Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.82
Новенький
44 / 9 / 2
Регистрация: 03.03.2009
Сообщений: 254
#1

Плавающие числа - C++

07.04.2009, 17:14. Просмотров 1443. Ответов 4
Метки нет (Все метки)

(Время: 1 сек. Память: 16 Мб )
Дано N целых чисел. Каждое из них можно один раз изменить не более чем на целую величину L как в сторону увеличения, так и в сторону уменьшения или оставить без изменения. Если после такой операции некоторые из чисел оказываются равными, то они засчитываются за одно. С данными числами произвели указанную операцию таким образом, что осталось минимально возможное количество чисел. Требуется написать программу для определения этого количества.
Входные данные

Входной файл INPUT.TXT содержит в первой строке натуральные числа L и N (N<=100, L<=3200), во второй строке N чисел (в диапазоне от -32000 до 32000), записанных через пробел.
Выходные данные

В выходной файл OUTPUT.TXT выведите единственное число – ответ на задачу.
Примеры
INPUT.TXT OUTPUT.TXT
10 3
11 21 27 1

5 3
6 10 27 2

Добавлено через 21 минуту 4 секунды
Ну что ни у кого идей нет???
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.04.2009, 17:14     Плавающие числа
Посмотрите здесь:

Плавающие блоки - HTML, CSS
Пытаюсь разобраться с разделом плавающие блоки и что то не получается вот код &lt;html&gt; &lt;head&gt;&lt;/head&gt; &lt;link rel=&quot;Stylesheet&quot;...

Плавающие блоки - HTML, CSS
Есть два блока table , но один стоит на месте с лева , а другой в низу новости, а должны быть справа , как мне его поднять ?

Плавающие блоки - jQuery
Подскажите пожалуйста, нужно реализовать плавающие сайдабры на странице. Использую библиотеку http://stickyjs.com/ . Но получается не очень...

Плавающие блоки - HTML, CSS
Не знал как назвать этот вопрос/проблему. У меня действительно проблема. Искал в интернете, видимо плохо, но нет идей чего бы спросить и...

Плавающие окна - Debian Linux
Уважаемые линуксоиды! За ранее длагодарен!

плавающие ссылки - C# ASP.NET
Как сделать чтобы в div&quot;е были ссылки на что-то и чтобы эти ссылки поднимались вверх. И так по кругу. Был внятен или нет?? Спасибо.

плавающие блоки - HTML, CSS
&lt;div id=&quot;one&quot;&gt; &lt;div class=&quot;two&quot;&gt;text&lt;/div&gt; &lt;div class=&quot;three&quot;&gt;text&lt;/div&gt; &lt;/div&gt; #one{ overflow: hidden; ...

волны плавающие - Драйверы для видеокарт
мой компьютер не работает нормально в приложениях ,типа ворд ,читалка для книг и когда передвигаю окно происходят волнообразные движения...

Плавающие колонки - Web-дизайн
На сайте есть три колонки - колонка под плеер, под основной контент и под плэйлист. Хочется, чтобы плеер и плейлист при прокрутке страницы...

Плавающие div'ы - HTML, CSS
&lt;div class=&quot;iconleft&quot;&gt; &lt;img src=&quot;layout/images/icon1.jpg&quot; title=&quot;1&quot; /&gt; &lt;/div&gt; &lt;div class=&quot;iconright&quot;&gt; &lt;img...

Плавающие элементы и clear - HTML, CSS
Добрый вечер. Читаю статью https://habrahabr.ru/post/142486/, дошёл до следующего примера но никак не пойму, какой должен быть код,...

Плавающие резиновые блоки - HTML, CSS
Задача состоит в том что бы заставить обтекать не плавающий блок. &lt;html&gt; &lt;head&gt; &lt;style&gt; #all{ max-width:600px; ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Humanitis
172 / 164 / 6
Регистрация: 12.01.2009
Сообщений: 430
07.04.2009, 17:32     Плавающие числа #2
Сортируй массив,а потом каждый элемент проверяй со следующим,если они равны или отличаются на величину L или 2*L откидываем эти элементы.
Новенький
44 / 9 / 2
Регистрация: 03.03.2009
Сообщений: 254
07.04.2009, 21:16  [ТС]     Плавающие числа #3
Помогите с решением плиииз...

Добавлено через 3 минуты 2 секунды
Я вот так сделал но все же не проходит...
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
#include <stdio.h>
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
      freopen("input.txt", "r", stdin);
      freopen("output.txt", "w", stdout);
        int *a,i=0,n,v=1,l;
        cin>>l>>n;
        a=new int [n];
        for (i=0; i<n; i++){
            cin>>a[i];
            }
        sort(a,a+n);
        v=0;
        for(i=0; i<n-1; i++)
        {
                 if ((a[i]+l==a[i+1])||(a[i]==a[i+1])){
                                     v+=2;
                                     }
                /* else if (a[i]+l!=a[i+1]&&i==n-(n-1)){
                      v+=2;
                      }*/
                              }
        if (v==0){
                  cout<<n-1;
                  return 0;
                  }
        cout<<n-v;
        return 0;
}
Добавлено через 4 минуты 17 секунд
Humanitis, HEEEELLLP, Humanitis, please...

Добавлено через 31 минуту 30 секунд
ПОМОГИТЕ!!!!
aNdRyXa
14 / 14 / 0
Регистрация: 28.03.2009
Сообщений: 46
07.04.2009, 22:00     Плавающие числа #4
Во-первых, вначале переменную v надо обнулить, т.к. при отсутствии равных, после выполнения оперции, чисел у тебя в ответе будет число на 1 меньше начального количества.
Во-вторых, в цикле во время выполнения условия
C++
1
2
3
if ((a[i]+l==a[i+1])||(a[i]==a[i+1])){
                                     v+=2;
                                     }
ты увеличиваешь количесто одинвковых чисел на 2. Ответ будет неверным если у тебя будет 3 равных числа: программа запишет, что таких числа 4.
В-третьих, ты должен прибавлять 1 каждый раз после того, как отнимаешь все количество(а не только пару) одинаковых чисел.
Вроде бы все.
Новенький
44 / 9 / 2
Регистрация: 03.03.2009
Сообщений: 254
07.04.2009, 22:01  [ТС]     Плавающие числа #5
Цитата Сообщение от aNdRyXa Посмотреть сообщение
Во-первых, вначале переменную v надо обнулить, т.к. при отсутствии равных, после выполнения оперции, чисел у тебя в ответе будет число на 1 меньше начального количества.
Во-вторых, в цикле во время выполнения условия
C++
1
2
3
if ((a[i]+l==a[i+1])||(a[i]==a[i+1])){
                                     v+=2;
                                     }
ты увеличиваешь количесто одинвковых чисел на 2. Ответ будет неверным если у тебя будет 3 равных числа: программа запишет, что таких числа 4.
В-третьих, ты должен прибавлять 1 каждый раз после того, как отнимаешь все количество(а не только пару) одинаковых чисел.
Вроде бы все.
Не понял.. .Если честно, сможешь исправить, ну если те не трудно???
Yandex
Объявления
07.04.2009, 22:01     Плавающие числа
Ответ Создать тему
Опции темы

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