{"trustable":false,"prependHtml":"\u003cscript\u003e window.katexOptions \u003d { disable: true }; \u003c/script\u003e\n\u003cscript type\u003d\"text/x-mathjax-config\"\u003e\n MathJax.Hub.Config({\n tex2jax: {\n inlineMath: [[\u0027$$$\u0027,\u0027$$$\u0027], [\u0027$\u0027,\u0027$\u0027]],\n displayMath: [[\u0027$$$$$$\u0027,\u0027$$$$$$\u0027], [\u0027$$\u0027,\u0027$$\u0027]]\n }\n });\n\u003c/script\u003e\n\u003cscript async src\u003d\"https://mathjax.codeforces.org/MathJax.js?config\u003dTeX-AMS-MML_HTMLorMML\" type\u003d\"text/javascript\"\u003e\u003c/script\u003e","sections":[{"title":"","value":{"format":"MD","content":"晋升为城市规划师的依婷学姐受邀规划城市,该城市可以看作一个二维的平面图,有n条无限延长的直线作为道路,直线与直线直接有交点,但保证不会还有三条或以上的直线交于同一个点,依婷作为负责人需要招募保安看守直线的交点,但是她不想让保安们偷懒白剽工资,于是他安排相邻的交点必须都有人看管,相邻的交代的定义是在一条直线上的两个交点且这两个交点直接没有其他交点。依婷学姐想要氪金,所以不想花太多的钱在雇佣保安,那么最少雇佣的保安数为多少呢?"}},{"title":"Input","value":{"format":"MD","content":"第一行一个数T代表测试组数\n每组数据第一行一个n代表有多少条直线\n接下来N行每行4个数 x1 y1 x2 y2代表直线\n1≤T≤1000 .\n2≤n≤1000.\n−1000≤x1i,y1i,x2i,y2i≤1000.\n(x1i,y1i)≠(x2i,y2i).\n不会有两条相同的直线"}},{"title":"Output","value":{"format":"MD","content":"每组数据第一行c代表最少的人数\n接下来n-1行,第i行n-i个数代表管理 i i+1,i i+2...等道路的保安的id\n如果这两条道路不相邻则输出-1"}},{"title":"Sample Input","value":{"format":"MD","content":"2\n3\n0 0 1 0\n0 0 0 1\n1 0 0 1\n3\n0 0 1 0\n0 1 0 2\n1 0 1 1"}},{"title":"Sample Output","value":{"format":"MD","content":"3\n1 2\n3\n2\n2 1\n-1"}}]}