Pagini recente » Cod sursa (job #3289532) | Cod sursa (job #1457887) | Cod sursa (job #2708919) | Cod sursa (job #2848416) | Cod sursa (job #1852241)
#include <bits/stdc++.h>
using namespace std;
ifstream f("nivele.in");
ofstream g("nivele.out");
const int NMax = 100001;
int t,n,start,nr,noduri,x,cit;
void dfs_preorder(int nod,int D){
if(nr > noduri || n < 0)
return;
nr++;
if(D == x){
if(n > 0)
f >> x;
n--;
}else{
if(D < x){
dfs_preorder(2 * nod, D + 1);
dfs_preorder(2 * nod + 1, D + 1);
}
}
}
int main()
{
f >> t;
//g << 1.0*sizeof(a)*2/1024/1024 << '\n';
while(t--){
f >> n;
noduri = n * 2 - 1;
f >> x;
n--;
nr = 0;
dfs_preorder(1,1);
// g << noduri << ' ' << nr << '\n';
if(nr == noduri){
g << "DA" << '\n';
}else{
g << "NU" << '\n';
}
}
return 0;
}