Count of Right | Function to find the number of right angled triangle that are formed from given N points whose perpendicular or base is parallel to X or Y axis ; To store the number of points has same x or y coordinates ; Store the total count of triangle ; Iterate to check for total number of possible triangle ; Add the count of triangles formed ; Total possible triangle ; Driver Code ; Given N points ; Function Call
function RightAngled ( a , n ) { var xpoints = { } ; var ypoints = { } ; for ( var i = 0 ; i < n ; i ++ ) { if ( xpoints . hasOwnProperty ( a [ i ] [ 0 ] ) ) { xpoints [ a [ i ] [ 0 ] ] = xpoints [ a [ i ] [ 0 ] ] + 1 ; } else { xpoints [ a [ i ] [ 0 ] ] = 1 ; } if ( ypoints . hasOwnProperty ( a [ i ] [ 1 ] ) ) { ypoints [ a [ i ] [ 1 ] ] = ypoints [ a [ i ] [ 1 ] ] + 1 ; } else { ypoints [ a [ i ] [ 1 ] ] = 1 ; } } var count = 0 ; for ( var i = 0 ; i < n ; i ++ ) { if ( xpoints [ a [ i ] [ 0 ] ] >= 1 && ypoints [ a [ i ] [ 1 ] ] >= 1 ) { count += ( xpoints [ a [ i ] [ 0 ] ] - 1 ) * ( ypoints [ a [ i ] [ 1 ] ] - 1 ) ; } } return count ; } var N = 5 ; var arr = [ [ 1 , 2 ] , [ 2 , 1 ] , [ 2 , 2 ] , [ 2 , 3 ] , [ 3 , 2 ] , ] ; document . write ( RightAngled ( arr , N ) ) ;