Pagini recente » Cod sursa (job #2839619) | Cod sursa (job #2005762) | Cod sursa (job #426867) | Cod sursa (job #384856) | Cod sursa (job #1447766)
#include <fstream>
#include <stack>
using namespace std;
#define inFile "nivele.in"
#define outFile "nivele.out"
ifstream in(inFile);
ofstream out(outFile);
stack < int > leafStack;
int main() {
int T, n, i, leaf;
in >> T;
while(T--) {
while(!leafStack.empty())
leafStack.pop();
in >> n;
for(i = 1; i <= n; i++) {
in >> leaf;
if(leafStack.empty())
leafStack.push(leaf);
else if(leaf != leafStack.top())
leafStack.push(leaf);
else {
while(!leafStack.empty() && leaf == leafStack.top())
leafStack.pop(), leaf--;
leafStack.push(leaf);
}
}
if(leafStack.top() == 1 && leafStack.size() == 1)
out << "DA\n";
else out << "NU\n";
}
return 0;
}