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

Так, норм задачка, гляньте, скажите что да как - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Найти слова с парным количеством букв http://www.cyberforum.ru/cpp-beginners/thread836296.html
учим использование строк. Текст вводить с клавиатуры. Оригинал текста и результат должен быть выведен на экран. А нужно найти слова с парным количеством букв.
C++ epson xp 207 - как сбросить счетчик epson xp 207 - как сбросить счетчик Предлогаю обсудить идею по сбросу счетчиков в epson xp 207. Если есть програмки выкладываейте только те которые крякнуты или не просят паролей. http://www.cyberforum.ru/cpp-beginners/thread836292.html
C++ Функция -WindowFromPoint
Подскажите пожалуйста как реализовать функцию WindowFromPoint в Windows Form !! А точнее не получается примкнуть СТРУКТУРУ к функции. Заранее Спасибо!! WindowFromPoint( typedef struct tagPOINT { LONG x; LONG y; } POINT, *PPOINT; );
Вывод слов из предложения в обратном порядке C++
Есть некоторое предложение в файле, оно записывается в массив, показывается на экране, а затем нужно вывести слова в обратном порядке, не получается что то
C++ Определить иерархию классов http://www.cyberforum.ru/cpp-beginners/thread836284.html
1. Определить иерархию классов в соответствии с вариантом (с графическим отображением в отчете). 2. Реализовать классы конструктами без параметров, с параметрами, копирования (базовый и производные классы должны содержать не менее пяти методов). 3. Определить в классах деструкторы. 4. Для добавления объекта в список предусмотреть метод класса, т.е. объект сам себя добавляет в список. 5....
C++ Операции с переменными Я задал количество переменных, а как сделать так, чтобы их количество было если не бесконечным, то хотя бы не указанное.... тоесть, ввожу числа для арифм. операций через enter.. и когда я ничего не ввиду и нажму enter все чтоб посчиталось ? Ума не приложу как организовать так... )) case 3: int a2,b2,c2,d2,e2; cout <<"Вы выбрали : \n"; cout... подробнее

Показать сообщение отдельно
yutr777
 Аватар для yutr777
4 / 4 / 0
Регистрация: 07.04.2013
Сообщений: 85
13.04.2013, 00:40     Так, норм задачка, гляньте, скажите что да как
Как-то раз Поликарп захотел узнать, кто из секретарей разговаривает по Spyke, а кто — нет. Он выписал для каждого секретаря номер сессии его разговора, или 0, если этот секретарь сейчас не разговаривает по Spyke.

Помогите Поликарпу по этим данным определить, сколько пар секретарей сейчас ведут разговор. Если в данные Поликарпа закралась ошибка, и описанная ситуация никак не могла произойти, требуется сообщить об этом.

Обратите внимание, секретари могут разговаривать по Spyke не только друг с другом — возможны разговоры с внешними собеседниками. Также не разрешены конференции Spyke — то есть в каждом разговоре должны участвовать ровно два собеседника.

Входные данные
В первой строке записано целое число n (1 ≤ n ≤ 103) — количество секретарей в корпорации Поликарпа. В следующей строке записаны n целых чисел через пробел: id1, id2, ..., idn (0 ≤ idi ≤ 109). Число idi равно номеру сессии разговора секретаря номер i, если он разговаривает в данный момент по Spyke, или равно нулю, в противном случае.

Считайте, что секретари пронумерованы от 1 до n некоторым образом.

Выходные данные
Выведите единственное целое число — количество пар секретарей, которые ведут разговор, или -1, если в данные Поликарпа закралась ошибка, и описанная ситуация никак не могла произойти.

Примеры тестов
входные данные
6
0 1 7 1 7 10
выходные данные
2
входные данные
3
1 1 1
выходные данные
-1
входные данные
1
0
выходные данные
0
Примечание
В первом тестовом примере есть два телефонных разговора между секретарями: секретарь номер 2 и секретарь номер 4, секретарь номер 3 и секретарь номер 5.

Во втором тестовом примере описанная ситуация невозможна, так как не разрешены конференции.

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
#include <iostream>
#include <algorithm>
 
typedef long long ll;
 
using namespace std;
 
int main()
{
ll ans=0,n,dl=1,x;
cin >> n;
ll a[10000]={0};
for (int i=0;i<n;i++)
{
    cin >> a[i];
}
sort(a,a+n);
for (int i=1;i<n;i++)
{
    if (a[i]==a[i-1]){dl++;continue;}
    if (a[i]!=a[i-1]){
                      if (dl==2 && a[i-1]!=0){ans++;}
                      if (dl>2 && a[i-1]!=0) {ans=-1;break;} 
                      dl=1;
                      }
}
if (dl==2 && a[n-1]!=0){ans++;}
if (dl>2) {ans=-1;} 
cout << ans;   
return 0;
}
не пашет((
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 13:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru