Pagini recente » Diferente pentru algoritmul-lee intre reviziile 27 si 28 | Diferente pentru algoritmul-lee intre reviziile 14 si 15 | Lapte | Diferente pentru algoritmul-lee intre reviziile 29 si 30 | Diferente pentru algoritmul-lee intre reviziile 17 si 18
Nu exista diferente intre titluri.
Diferente intre continut:
Această problemă se rezolvă cu _algoritmul lui Lee_, doar că în coadă vom pune iniţial nu o coordonată, ci toate coordonatele paznicilor. Pentru asta se citesc ca şir de caractere fiecare caracter în parte, şi se convertesc acestea (la citire) în numere astfel: zidurile (#) vor fi notate cu $-2$, paznicii (P) cu $-1$, iar căile libere cu $0$. După executarea algoritmului, se verifică şi se înlocuiesc cifrele de $0$ cu $-1$ (pentru că în problemă ne cere să afişăm cu $-1$ locurile care nu au fost vizitate), iar cifrele de $-1$ (reprezentând paznicii) cu $0$.
==code(cpp)|
f>>m;
for (i=1;i<=m;i++)
for (j=1;j<=m;j++)
{
f>>s;
if (s=='#') ct[i][j]=-2;
else if (s=='.') ct[i][j]=0;
else if (s=='P') ct[i][j]=-1;
if (ct[i][j]==-1)
{
citeşte m
pentru i=1,m
pentru j=1,m
început
citeşte s
dacă (s=='#') ct[i][j]=-2
altfel dacă (s=='.') ct[i][j]=0;
altfel dacă (s=='P') ct[i][j]=-1;
dacă (ct[i][j]==-1)
început
q[l].st=i;
q[l].dr=j;
l++;
}
}
sfârşit(dacă)
sfârşit(pentru)
q1=l;
==
Nu exista diferente intre securitate.
Topicul de forum nu a fost schimbat.