Pagini recente » Cod sursa (job #2786099) | Cod sursa (job #2115253) | Cod sursa (job #350503) | Cod sursa (job #856663) | Cod sursa (job #1889683)
#include <bits/stdc++.h>
using namespace std;
constexpr int maxn = 5e4 + 10;
int buf[maxn] = {}, *st = buf, *dr, depth = 1;
bool dfs(){
if(st == dr || *st > 1e5) return false;
else if(depth < *st){
++depth;
if(!dfs() || st==dr || !dfs()) return false;
--depth;
return true; }
else if(depth == *st){
++st;
return true; }
return false; }
ifstream f("nivele.in");
ofstream g("nivele.out");
int main(){
int t;
f >> t;
while(t--){
int n;
f >> n;
copy_n(istream_iterator<int>(f), n, buf);
st = buf, dr = st+n, depth = 1;
g << (dfs() ? "DA" : "NU") << '\n'; }
return 0; }