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

Задача на дп (олимпиадная) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Пожалуйста напишите на языке с ++ http://www.cyberforum.ru/cpp-beginners/thread716016.html
п. 5.16 Запрещено создавать темы с множеством вопросов во всех разделах, кроме разделов платных услуг. Один вопрос - одна тема. п. 5.18 Запрещено размещать задания в виде картинок и других файлов с...
C++ вложеные блоки try - catch Ввести два числа. Меньшее заменить полсумой, а большее - удвоенным произведением. Выражение должно быть вычислено в отдельной пользовательской функции. Корректность входных данных должна... http://www.cyberforum.ru/cpp-beginners/thread716014.html
C++ Нужен алгоритм расскраски графа
Нужен любой алгоритм расскраски графа. Скиньте позязя.
Будет ли верстка мешать изучению С++? C++
Народ всем привет как думаете если заниматься версткой и паралельно учить С++ то я в С++ не запутаюсь(всмысле каши в голове не будет)?
C++ Как остановить выполняемую функцию? http://www.cyberforum.ru/cpp-beginners/thread715964.html
Доброго времени суток. :) Перейду к проблемме: Для моей программы нужна кнопка "отмена" так вот а как можно остановить выполняемою функцию. Зарание спасибо :)
C++ Написать функцию возведения в степень Написать программу, которая выводит на печать значения 1^1, 2^2, 3^3, 4^4, 5^5 Степени чисел должны вычисляться в отдельной функции. Помогите пожалуйста. Вроде всё просто, но у меня не получается(( подробнее

Показать сообщение отдельно
Mngame
Сообщений: n/a
02.12.2012, 16:56
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
34
35
36
37
38
39
40
41
#include <fstream>
 
 
using namespace std;
 
bool a[200001];
 
int find(int x)
{
    while (a[x]) x++;
    return x;
}
 
int main()
{
    ifstream in("d.in");
    ofstream out("d.out");
    int n,command;
    in >> n;
    memset(a, false, 200001);
    for (int i = 0; i < n; i++) {
       in >> command;
       if (command < 0) {
              command = - command;
              a[command] = false;
       }
       else if (a[command] == true) {
                 command = find(command+1);
                 a[command] = true;
                 out << command << endl;
            }
            else
            {
                a[command] = true;
                out << command << endl;
            }
    }
 
 
    return 0;
}
Не поверите, но самая быстрая моя реализация, максимальный тест 5 сек делает. Вся динамика шла за 10сек.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru