Pagini recente » Cod sursa (job #1600789) | Cod sursa (job #1416346) | Cod sursa (job #625119) | Cod sursa (job #459943) | Cod sursa (job #138173)
Cod sursa(job #138173)
#include <stdio.h>
#define Nmax 50001
int n,nt, niv[Nmax], urm[Nmax];
int arb(int k)
{
if (k&&!urm[k]) return 0;
while (niv[k]!=niv[urm[k]] && arb(urm[k]));
if (niv[k]==niv[urm[k]])
{
niv[k]--;
urm[k]=urm[urm[k]];
return 1;
}
return 0;
}
int main()
{
freopen("nivele.in","r",stdin);
freopen("nivele.out","w",stdout);
scanf("%d",&nt);
while (nt--)
{
scanf("%d",&n);
for (int i=0;i<n;i++)
{
scanf("%d",&niv[i]);
urm[i]=i+1;
}
urm[n-1]=0;
while (urm[0] && arb(0));
if (!urm[0] && niv[0]==1) printf("DA\n");
else printf("NU\n");
}
return 0;
}