//--------------------
//Edouard Moureaux
//March 2016
//
// Problem URL:
// https://www.hackerrank.com/challenges/super-queens-on-a-chessboard
namespace FunctionalProgramming.Recursion
module Super_Queens =
open System
let (|Danger|Safe|) (xQ, yQ) (x ,y) =
let difX = (x - xQ) |> float
let difY = (y - yQ) |> float
if x = xQ then Danger (x, y)
elif y = yQ then Danger (x, y)
elif abs difX + abs difY <= 4. then Danger (x, y)
else Safe (x,y)