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

Codeforce. Такси. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Списки структур. Указатель на узел другого списка внутри структуры http://www.cyberforum.ru/cpp-beginners/thread527015.html
Имеется следующий кусок кода: struct date { int day; int month; int year; }; /* Пациент */
C++ обработка символьной информации Составить программу, которая преобразует произвольный текст путем переворачивания (записи букв в обратном порядке) слов, имеющих четное количество букв. http://www.cyberforum.ru/cpp-beginners/thread527013.html
C++ Как сложить два char?
Как сложить два char?
C++ Программу в JS или С++
Нужно программу перевести JS или С++ я так понял это паскаль, или дельфи, простите не сильно, так как не учил. Помогите пожалуйста, буду весьма благодарен :) Если не в тот дозрел форума простите) program rgr; uses crt; type vec=array of real; var i,k,n:integer; x1,x0,x9,h,p:real; x,y:vec; procedure tab(n:integer; var x,y:vec); var i:integer;
C++ Деление числа http://www.cyberforum.ru/cpp-beginners/thread526985.html
Извините за дубляж темы, это уже много раз было, но такая задача: 1) от многозначного числа отделить последнюю цифру, например 123456, чтобы было 12345 2) отдклить от многозначного чила последние n цифр, например 123456, чтобы было 3456 или 456 взависимости от n 3) посчитать количество знаков числа, например если 121212 то m=6, если 2323 то m=4, где m - количество знаков числа примеры...
C++ Поток,дисковый файл,добовление битов Всем привет! Сталкнулся с такой проблемой как отсутствие в номом стандарте ios::nocreate. Полазив в инете нашел мнение что мол сначало надо открывать файл на чтрение если не получается открыть то файл автоматом не открывается. Проверил работает, НО возникли некоторые вопросы. Ну вопервых почему то такая комбинация всёравно открывает файл std::fstream file;... подробнее

Показать сообщение отдельно
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
24.03.2012, 22:08     Codeforce. Такси.
Интересный сайт =)
Мое решение, проходит все тесты, но, боюсь, не особо читаемое:
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
42
43
44
45
#include <iostream>
 
int main()
{
    int answer = 0;
    int arr[4] = {};
 
    int n;
    std::cin >> n;
 
    for (int i = 0, x; i < n; ++i)
    {
        std::cin >> x;
 
        if ( x == 4 )
            ++answer;
        else
            ++arr[x];
    }
 
    answer += arr[2] / 2;
    arr[2] %= 2;
 
    int temp = std::min( arr[1], arr[3] );
    answer += temp;
    arr[1] -= temp;
    arr[3] -= temp;
 
    if ( arr[1] == 0 )
    {
        answer += arr[2] + arr[3];
    }
    else
    {
        if ( arr[2] != 0)
        {
            ++answer;
            arr[1] = std::max(arr[1] - 2, 0);
        }
 
        answer += arr[1] / 4 + ( arr[1] % 4 != 0 );
    }
 
    std::cout << answer;
}
 
Текущее время: 19:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru