Cod sursa(job #635476)

Utilizator alexdmotocMotoc Alexandru alexdmotoc Data 19 noiembrie 2011 12:01:32
Problema ChatNoir Scor 100
Compilator cpp Status done
Runda .com 2011 Marime 0.89 kb
#include <iostream>
#include <cstdio>
#include <algorithm>

using namespace std;

int N , M , X , Y , a , b , c , d , T;
int pisi , bloc , rta;

int min (int a , int b  , int c , int d)
{
	int aux1 , aux2;
	
	if (a <= b)
		aux1 = a;
	
	else aux1 = b;
	
	if (c <= d)
		aux2 = c;
	
	else aux2 = d;
	
	if (aux1 <= aux2)
		return aux1;
	
	return aux2;
}
int main ()
{
	freopen ("chatnoir.in" , "r" , stdin);
	freopen ("chatnoir.out" , "w" , stdout);
	
	scanf ("%d" , &T);
	
	for (int k = 1 ; k <= T ; ++k)
	{
		scanf ("%d %d %d %d" , &N , &M , &X , &Y);
		
		a = abs ((1 + Y) - (X + Y));
		b = abs ((N + Y) - (X + Y));
		c = abs ((X + 1) - (X + Y));
		d = abs ((X + M) - (X + Y));
		
		bloc = 2 * N + 2 * M;
		rta = bloc - 4;
		
		pisi = rta + min (a , b , c , d) - 1;
		
		if (pisi < bloc)
			printf ("DA\n");
		
		else printf ("NU\n");
	}
	
	return 0;
}