Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.03.2013, 14:08   #1
kostan3
- Дорогой, а ты ку
Форумчанин
 
Регистрация: 06.10.2012
Сообщений: 181
Восклицание сократить код

Код:
#include <cstdio>
     
int n, d[1 << 22], m = 1, c, p, i, s, t;
char l[1 << 22];
     
struct
{
    char s;
    int o, y, t, f;
    
} b[22];
     
void k(int m)
{
    if (!m)
        return;
    k(m - (1 << l[m]));
    printf("%d ", l[m] + 1);
}
     
int main()
{
    freopen("input.txt", "r", stdin);
    freopen("output.txt", "w", stdout);
     
    scanf("%d\n", &n);
    for(; i < n; ++i)
        scanf("%c%d%d%d%d\n", &b[i].s, &b[i].o, &b[i].y, &b[i].t, &b[i].f);
     
    for (; m < 1 << n; ++m)
    {
        d[m] = 9000;
        for (i = p = c = 0; i < n; ++i)
            if (m & (1 << i))
                p += b[i].f, c += b[i].t;
            else
                p += b[i].y, c += b[i].o;
     
        for (i = 0; i < n; ++i)
            if (m & (1 << i))
            {
                s = m - (1 << i);
                t = b[i].s == 'C' ? p - b[i].f : c - b[i].t;
     
                if (d[s] + t < d[m] || d[s] + t == d[m] && i > l[m])
                    d[m] = d[s] + t, l[m] = i;
             }
    }
     
    printf("%d 0 ", d[(1 << n) - 1]);
    k((1 << n) - 1);
    printf("0");
}
вот задачка
Размер кода: 596
если вы умудрились сократить мой код но сиситема показывае тл на 22 тесте то всё равно кидайте его сюда
kostan3 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
сократить код Kirja23 Microsoft Office Excel 1 20.02.2013 22:34
сократить код kostan3 Паскаль, Turbo Pascal, PascalABC.NET 2 17.02.2013 17:24
Как сократить код Вадим12091965 Microsoft Office Excel 6 28.10.2012 11:04
Помогить сократить T-SQL код Abbath1349 C/C++ Базы данных 0 21.05.2011 13:24
Сократить код shapiro Помощь студентам 0 14.04.2010 17:38