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

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

Войти
Регистрация
Восстановить пароль
 
diagon
Higher
1930 / 1196 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
#1

Кратчайший ввод - C++

20.05.2011, 21:00. Просмотров 480. Ответов 5
Метки нет (Все метки)

Есть кусок кода
C++
1
2
3
4
5
6
7
//int i,x,d[200]; - в глобальном пространстве
std::fstream v("input.txt");
    v >> i;
    while(i--) {
        v >> x;
        d[x+100]++;
    }
Интересует, как его можно сжать еще сильнее=) (по количеству символов)
Использовать желательно iostream и fstream
Довольно долго думал, пришел примерно к таком варианту
C++
1
2
3
v>> i;
for(;i--;v >> x)
    d[x+100]++;
Но т.к. вначале x=0, а считывание идет в конце итерации, то последний элемент она пропускает, зато вначале лишний раз увеличивает 100ый.
Либо к такому
C++
1
2
for(;v;v >> x)
        d[x+100]++;//тут бы проигнорировать первых 2 числа как можно меньшим количеством кода..
Тоже лишний раз увеличивает, зато не надо первую переменную считывать=)
Думаю, что есть способ, но не могу до него додуматся=(
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.05.2011, 21:00
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Кратчайший ввод (C++):

Кратчайший маршрут - C++
Очень сложная задачка на мой взгляд. Подскажите хотя-бы алгоритм! Буду очень благодарен.

Кратчайший путь в графе. - C++
Такая задача: Дан ориентированный взвешенный ациклический граф. Требуется найти в нем кратчайший путь из вершины s в вершину t. ...

Найти кратчайший маршрут - C++
Найти кратчайший маршрут, который начинается и завершается в заданной вершине ориентированному графу, проходя через все его вершины...

Кратчайший путь коня с++ - C++
помогите пожалуйста написать алгоритм кротчайшего пути коня на шахматной доске из А в Б

Графы кратчайший путь ! - C++
Помогите написать функцию для поиска кратчайшего пути между вершинами которые задаются с клавы я написал правда получилось что это...

Кратчайший путь в графе(Рекурсия) - C++
Я реализовал программу с помощью алгоритма флойда.Препод придрался к тому что я реализовал без рекурсии. Помогите изменить прогу под...

5
lemegeton
2925 / 1354 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
20.05.2011, 22:07 #2
Попробуйте использовать зопетую. )
C++
1
for(std::fstream v("input.txt"), v >> i; v.good(); v >> x, ++d[x + 100]);
З.Ы. Компиляторы сейчас хорошо оптимизируют, разницы в бинарном коде скорее всего не будет.
1
diagon
Higher
1930 / 1196 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
21.05.2011, 07:07  [ТС] #3
Дожал вот так
C++
1
2
3
std::fstream v("input.txt"); //в for'e не скомпилилось
    for(v >> i; i--;  d[x + 100]++)
        v >> x;
Мне не для компилятора нужно, просто есть один сайт с олимпиадными задачами, где критериями оценки служит количество символов в коде=)
Пока что 4 место, 1 символ до 3го=)

Добавлено через 40 минут
Таки нечего там больше сжимать, кроме ввода, который теоретически можно еще на 5 символов сжать=\
0
dampir_sanek
150 / 148 / 21
Регистрация: 09.02.2010
Сообщений: 407
21.05.2011, 09:55 #4
Не по теме
diagon, подскажи, что то за сайтик такой?
0
diagon
21.05.2011, 09:56  [ТС]
  #5

Не по теме:


з.ы. ты что-нибудь слышал о тэге [ off] ?)

0
dampir_sanek
150 / 148 / 21
Регистрация: 09.02.2010
Сообщений: 407
21.05.2011, 10:00 #6
diagon,

Не по теме:

нет, теперь буду знать!)) Спасибо за сайтик!

0
21.05.2011, 10:00
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.05.2011, 10:00
Привет! Вот еще темы с ответами:

Найдите кратчайший путь в графе - C++
Создайте граф согласно своего варианта в среде С + +, длины путей задайте самостоятельно, найдите кратчайший путь в графе, используя...

Как найти НЕ Кратчайший путь в графе ? - C++
Мне нужно найти не кратчайший путь в графе от одной вершины к другой, граф неориентированный, задан списком смежности типа: 5 1 1 2 3...

Найти кратчайший путь шахматного короля - C++
Здравствуйте, имеется задача: Есть шахматное поле NxM N, M ≤ 10^9 На шахматном поле отмечено два прямоугольника размерами не менее...

Найти кратчайший путь из вершины u в вершину v - C++
Уффф, к завтрашнему дню нужно сдать эти задачи, помогите пожалуйста кто чем сможет :sorry: (следующие задачи через обходы в глубину и...


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

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

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