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

Ошибка в программе или алгоритме (Задача Океанариум) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Hotkeys http://www.cyberforum.ru/cpp-beginners/thread932928.html
Добрый день. Нужен совет как более правильно сделать следующую вещь: у приложения будут функции(к примеру "переключить трек" и т.д.). Нужно дать пользователю возможность назначать на различные функции горячие клавиши. Сам вопрос в том как правильней хранить эти функции и выбирать для вызова при срабатывании хоткея. Что-то такое в общем.
C++ Передача функции статического двумерного массива Доброго времени суток, уважаемые жители Cyber-Forum. Не так давно я начал самостоятельно изучать Си++, и если честно, то ето вообще мой первый опыт в программировании, поэтому в процессе изучения накапливаются вопросы, на которые некому ответить. Мой вопрос уже задавался ранее неоднократно, так что он вряд ли покажется вам чем-то новым, но я спрошу, так как в прочитанных мноу темах я не смог... http://www.cyberforum.ru/cpp-beginners/thread932835.html
C++ String для коротких строк
Здорова! Тут от пытаюсь разобрать такое понятие как класс String оптимизированный для коротких строк, это такой класс длинна строки у которого не превышает 8 символов. От интересно как его оптимизировать или он уже сам по себе будет оптимизирован из за того что строка будет короткая? Какие у него преимущества? Просто я с этим понятием недавно столкнулся, раньше как то не задумывался. Конечно...
Задача Timus C++
Почему не проходит тест? Может кто знает? http://acm.timus.ru/problem.aspx?space=1&num=1001 #include <vector> int main() { std::vector<int> v;
C++ Универсальный класс для строк http://www.cyberforum.ru/cpp-beginners/thread932803.html
Здорова господа! Есть задачка "Подумайте как можно спроектировать идеальный класс для универсальной работы с текстами. Назовите его Text. Какими он будет обладать возможностями? Какую нагрузку на реализацию вызовут ваши «идеальные» средства?" Давайте ее хотя бы теоретически мб решим?
C++ перевод строки CHAR Добрый день уважаемые форумчане) Пишу в IARе под AVR столкнулся с проблеммой вычесть из строки лишние символы. к примеру приведу такой код void SHOW_TEXT(char *text, int color, int colors, int fon) { char *sk; nlcd_Box(0, 0, 132, 132, 1, fon); sk=text; nlcd_Text(sk,10,5,color,fon); подробнее

Показать сообщение отдельно
Fyret
184 / 170 / 13
Регистрация: 30.07.2013
Сообщений: 359
03.08.2013, 17:26     Ошибка в программе или алгоритме (Задача Океанариум)
На мой взгляд основная проблема - линейный поиск по массиву рыб при считывании каждого названия. Это совсем не оптимально. Я бы сделал так:

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
46
47
48
49
50
#include <fstream>
#include <iostream>
#include <string>
#include <unordered_map>
 
using namespace std;
typedef std::unordered_map< std::string, unsigned > Fishes;
 
int main()
{
    ifstream f( "input.txt" );
    Fishes result;
    
    unsigned a = 0;
    f >> a;
    for( unsigned i = 1; i <= a; ++i )
    {
        Fishes currentNote;
 
        unsigned b = 0;
        f >> b;
        for( unsigned j = 1; j <= b; ++j )
        {
            string name;
            f >> name;
 
            ++currentNote[ name ];
        }
        
        for( Fishes::const_iterator it = currentNote.begin(); it != currentNote.end(); ++it )
        {
            if( result[ it->first] < it->second )
            {
                result[ it->first] = it->second;
            }
        }
    }
    f.close();
 
    unsigned sum = 0;
    for( Fishes::const_iterator it = result.begin(); it != result.end(); ++it )
    {
        sum += it->second;
    }
    
    ofstream o( "output.txt" );
    o << sum;
    
    return 0;
}
А считает-то правильно.
 
Текущее время: 14:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru