01 Game (Codeforces 1373B)
Tags: Others, games

Alica and Bob are playing a game.Initially they have a binary string $$$s$$$ consisting of only characters 0 and 1.Alice and Bob make alternating moves: Alice makes the first move, Bob makes the second move, Alice makes the third one, and so on. During each move, the current player must choose two different adjacent characters of string $$$s$$$ and delete them. For example, if $$$s = 1011001$$$ then the following moves are possible:   delete $$$s_1$$$ and $$$s_2$$$: $$$\textbf{10}11001 \rightarrow 11001$$$;  delete $$$s_2$$$ and $$$s_3$$$: $$$1\textbf{01}1001 \rightarrow 11001$$$;  delete $$$s_4$$$ and $$$s_5$$$: $$$101\textbf{10}01 \rightarrow 10101$$$;  delete $$$s_6$$$ and $$$s_7$$$: $$$10110\textbf{01} \rightarrow 10110$$$. If a player can't make any move, they lose. Both players play optimally. You have to determine if Alice can win.

Input: First line contains one integer $$$t$$$ ($$$1 \le t \le 1000$$$) — the number of test cases.Only line of each test case contains one string $$$s$$$ ($$$1 \le |s| \le 100$$$), consisting of only characters 0 and 1.

Output: For each test case print answer in the single line.If Alice can win print DA (YES in Russian) in any register. Otherwise print NET (NO in Russian) in any register.

Note: In the first test case after Alice's move string $$$s$$$ become empty and Bob can not make any move.In the second test case Alice can not make any move initially.In the third test case after Alice's move string $$$s$$$ turn into $$$01$$$. Then, after Bob's move string $$$s$$$ become empty and Alice can not make any move.

Sample Inputs:
3
01
1111
0011

Sample Outputs:
DA
NET
NET

Solution (Python):
for s in [*open(0)][1:]:
    print('NDEAT'[min(s.count('0'), s.count('1')) % 2::2])

Solution (Python):
for _ in range(int(input())):
    s = input()
    print('DA' if min(s.count('0'), s.count('1')) % 2 == 1 else 'NET')

Solution (Python):
from sys import stdin, stdout

def pr(out):
    return stdout.write(f'{out}\n')

def ver_in():
    return stdin.readline()

def hor_in():
    return list(map(int, stdin.readline().split()))

def solve():
    string = list(input())
    count_1 = string.count('1')
    count_0 = string.count('0')
    print('DA' if min(count_1, count_0) % 2 else 'NET')
if __name__ == '__main__':
    t = int(ver_in())
    for _ in range(t):
        solve()