{"trustable":true,"sections":[{"title":"","value":{"format":"MD","content":"\nMubashwir从比赛回家后,看到他的房间满是灰尘,非常生气。谁会喜欢在一场令人费解的编程比赛后看到一个满是灰尘的房间呢?在稍微搜索一下后,他在他的房间里找到了一把旧牙刷。由于灰尘散布在各处,他有点不知所措。所以,他打电话给Shakib。Shkib说,\u0027递归地使用刷子,清理所有的灰尘,我就是这样清理我的灰尘的!\u0027\n\nMubashwir变得更加困惑,因为这只是一把牙刷。他决定让刷子直线移动,一路清除灰尘,然后重复这个过程,直到房间清洁。假设牙刷只清除位于路径上的灰尘。但由于这只是一把牙刷,他可以让刷子朝任何方向移动。他把**移动**定义为让牙刷直线行驶并清除线路上的灰尘。\n\n现在他想找出清除所有灰尘的最大移动次数。你可以假设灰尘被定义为**2D**点,如果刷子触到一个点,那么它就被清理了。由于比赛的原因,他的头有点乱,他正在寻求你的帮助。\n"}},{"title":"输入","value":{"format":"MD","content":"输入开始于一个整数 **T (\u0026le; 500)**,表示测试用例的数量。\n\n每个案例开始于一个空行。下一行包含一个整数 **N (1 \u0026le; N \u0026le; 16)**。**N** 表示有 **N** 个灰尘点。接下来的 **N** 行将包含两个整数 **x\u003csub\u003ei\u003c/sub\u003e y\u003csub\u003ei\u003c/sub\u003e**,表示一个灰尘单位的坐标。你可以假设 **(-1000 \u0026le; x\u003csub\u003ei\u003c/sub\u003e, y\u003csub\u003ei\u003c/sub\u003e \u0026le; 1000)** 并且所有的点都是不同的。"}},{"title":"输出","value":{"format":"MD","content":"对于每个案例,打印案例编号和最小的移动次数。"}},{"title":"样本","value":{"format":"MD","content":"\u003ctable class\u003d\u0027vjudge_sample\u0027\u003e\n\u003cthead\u003e\n \u003ctr\u003e\n \u003cth\u003eInput\u003c/th\u003e\n \u003cth\u003eOutput\u003c/th\u003e\n \u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n \u003ctr\u003e\n \u003ctd\u003e\u003cpre\u003e2\n\n3\n0 0\n1 1\n2 2\n\n3\n0 0\n1 1\n2 3\n\u003c/pre\u003e\u003c/td\u003e\n \u003ctd\u003e\u003cpre\u003eCase 1: 1\nCase 2: 2\n\u003c/pre\u003e\u003c/td\u003e\n \u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e"}}]}