#761. [CVOI2024 Winter B] 钻石

[CVOI2024 Winter B] 钻石

题目描述

在一个平面直角坐标系的第一象限(这里含正半轴、原点)上,有 nn 个钻石分别位于 (xi,yi)(x_i,y_i) 的位置上(位置互不相同)。

你从原点 (0,0)(0,0) 开始,向右(即向 xx 轴正方向)行走。

你可以在任意时候使用一次「转向」,使用次数无上限。

对于每次转向,如果你向右,则变成向上(即向 yy 轴正方向);如果你向上,则变成向右。

在行走的过程中如果碰到了钻石,则称为「收集了一个钻石」。

你想收集所有钻石。

那么在收集完所有钻石的前提下,你最少可以转向几次呢?

输入格式

请使用较快效率的输入方式。

第一行一个整数 nn

接下来 nn 行,每行为两个整数 xi,yix_i,y_i ,表示钻石的坐标。

输出格式

最少转向次数。若不能收集所有钻石,输出 Diamonds!!!

1
1 1
1
3
1 0
2 0
1 2
Diamonds!!!
2
0 1
2 2
2

样例 33 解释

如图。

(0,0)(0,0) 进行一次「转向」,再在 (0,2)(0,2) 进行一次转向。这样只要 22 次转向就可以收集所有钻石。

数据范围

1n106,0xi,yi1091\le n\le10^6,0\le x_i,y_i\le10^9,保证 xi,yix_i,y_i 互不相同。