Pagini recente » Cod sursa (job #2960405) | Cod sursa (job #3287749) | Cod sursa (job #2048661) | Cod sursa (job #41068) | Cod sursa (job #137796)
Cod sursa(job #137796)
#include <cstdio>
const int maxn = 50001;
FILE *in = fopen("nivele.in","r"), *out = fopen("nivele.out","w");
int t;
int n, k;
int a[maxn];
int b[maxn];
int h;
void go(int d)
{
++h;
if ( a[k] == h )
{
b[k++] = h;
--h;
return;
}
if ( k == n )
{
--h;
return;
}
go(d+1);
go(d+1);
--h;
}
int main()
{
fscanf(in, "%d", &t);
while ( t-- )
{
fscanf(in, "%d", &n);
k = 1;
h = 0;
for ( int i = 1; i <= n; ++i )
fscanf(in, "%d", &a[i]);
go(1);
int i;
for ( i = 1; i <= n; ++i )
if ( a[i] != b[i] )
fprintf(out, "NU\n"), i = n + 3;
if ( i != n + 4 )
fprintf(out, "DA\n");
}
return 0;
}