ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила
вернуться в форум

Обсуждение задачи 1795. Мужья в магазине

WA13 PLEASE, give me some test
Послано ANDREY 8 мар 2011 14:59
#include <iostream>
using namespace std;
int main()
{long n,m,a[1010],b[1010],c[1010],k,i,e,j,q;
char t[1010][25],g[1010][25];
cin >> m;
for (i=1;i<=m;i++){
    cin >> a[i] >> t[0] >> t[i];
}
cin >> n;
for (i=1;i<=n;i++){
    cin >> b[i] >> g[0] >> g[i];
}
for (i=1;i<=n;i++)c[i]=0;

for (i=1;i<=n;i++){
    for (j=1;j<=m;j++){
        k=1;
        for (e=0;e<=21;e++){
            if (g[i][e]!=t[j][e])k=0;
        }
        if (k==1)c[i]=j;
    }
}
a[0]=0;
q=0;
for (i=1;i<=n;i++){
asd:;
    q++;
    if (a[c[i]]==0){goto lkj;}
    if (a[c[i]]>=b[i]){
        a[c[i]]=a[c[i]]-b[i];
        goto lkj;
    }
    if ((a[c[i]]<b[i])&&(i<n)){
        b[i]=b[i+1];
        b[i+1]=a[c[i]];
        k=c[i];
        c[i]=c[i+1];
        c[i+1]=k;
        goto asd;
    }
    if ((a[c[i]]<b[i])&&(i==n)){
        b[i]=a[c[i]];
        goto lkj;
    }
lkj:;
}
cout << q;
cin >> i;
    return 0;
}
Re: WA13 PLEASE, give me some test
Послано alp 13 мар 2011 00:11
check name "of"
Re: WA13 PLEASE, give me some test
Послано falicos 10 мар 2012 19:28
you compare strings by the cycle
k=1;
        for (e=0;e<=21;e++){
            if (g[i][e]!=t[j][e])k=0;
        }
        if (k==1)c[i]=j;
this will be correct if you init arrays char t[1010][25],g[1010][25]; to 0.
And your program will take AC!!!