using
System;
using
System.Linq;
class
GFG
{
public
static
void
Sort2d(
int
[][] arr)
{
Array.Sort(arr,
new
Comparison<
int
[]>(
(a, b) => a[0] < b[0] ? 1 : -1
));
}
static
void
FindAllPolygons(
int
N,
int
[][][] arr)
{
int
[][] maximumX =
new
int
[N][];
for
(
int
i = 0; i < N; i++)
{
int
maxX =
int
.MinValue;
for
(
int
j = 0; j < arr[i].Length; j++)
{
maxX = Math.Max(maxX, arr[i][j][0]);
}
maximumX[i] =
new
int
[] { maxX, i };
}
Sort2d(maximumX);
int
[] res =
new
int
[N];
for
(
int
i = 0; i < N; i++)
{
res[maximumX[i][1]] = N - 1 - i;
}
for
(
int
i = 0; i < N; i++)
{
Console.Write(res[i] +
" "
);
}
}
static
void
Main(
string
[] args)
{
int
N = 3;
int
[][][] arr = {
new
int
[][] {
new
int
[] { -2, 2 },
new
int
[] { -1, 1 },
new
int
[] { 2, 2 },
new
int
[] { 2, -1 },
new
int
[] { 1, -2 },
new
int
[] { -2, -2 } },
new
int
[][] {
new
int
[] { -1, -1 },
new
int
[] { 1, -1 },
new
int
[] { 1, 1 } },
new
int
[][] {
new
int
[] { 3, 3 },
new
int
[] { -3, 3 },
new
int
[] { -3, -3 },
new
int
[] { 3, -3 } }
};
FindAllPolygons(N, arr);
}
}