Cod sursa(job #141982)

Utilizator cos_minBondane Cosmin cos_min Data 23 februarie 2008 23:12:02
Problema Nivele Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.04 kb
#include <stdio.h>
#include <fstream>
using namespace std;

#define in "nivele.in"
#define out "nivele.out"
#define dim 50001

int N, T, M;
int A[dim], Niv[dim];

int main()
{
    freopen(in,"r",stdin);
    freopen(out,"w",stdout);
    
    scanf("%d", &T);
    for ( ; T; T-- )
    {
        scanf("%d", &N);
        for ( int i = 1; i <= N; i++ )
            scanf("%d", &A[i]);
        
        M = 1;
        
        while ( M )
        {
              M = 0;
              for ( int i = 1; i < N; i++ )
              {
                  if ( A[i] == A[i+1] ) Niv[++M] = A[i]-1, i++;
                  else                  Niv[++M] = A[i];
              }
              
              if ( M > 0 )
              {
                   N = M;
                   for ( int i = 1; i <= M; i++ ) A[i] = Niv[i];
              }
        }
        int K = 0;
        for ( int i = 1; i <= N; i++ )
            if ( A[i] == 1 ) K++;
        
        if ( K == 1 ) printf("DA\n");
        else          printf("NU\n");
    }
}