本题没有样例,只有 checker,下发文件
题目描述
在一个草原上有 $m$ 只奶牛。现在 Farmer John 要指挥它们回到自己的家。草原被划分成了 $n\times n$ 的网格,第 $i$ 个奶牛一开始在 $(a_i, b_i)$,它的家在 $(c_i, d_i)$。保证每个奶牛的初始位置不同,并且每个奶牛的家的位置不同。FJ 每次可以呼喊一头奶牛走到它的某一个相邻格子上,但是不能让两只奶牛同时在一个格子中,否则它们就会发生冲突。奶牛也是有脾气的,如果 FJ 呼喊它们的次数太多,那么奶牛们就会闹脾气。FJ 希望你来帮他,他会根据你的呼喊次数来对你的策略评分。
输入格式
第一行三个正整数 $n,m$,分别表示网格的大小,奶牛数量。 接下来 $m$ 行每行两个整数 $a_i,b_i$。 接下来 $m$ 行每行两个整数 $c_i,d_i$。
输出格式
第一行一个整数 $K$,表示你的呼喊次数。
接下来 $K$ 行每行四个整数 $x, y, x', y'$,表示让 $(x, y)$ 上的奶牛走到 $(x', y')$。
你需要保证 $1\leq x,y,x',y'\leq n$ 并且 $|x-x'|+|y-y'|=1$。
下发文件中包含了 checker.cpp 和简易的数据生成器,可以根据自己需要来修改。
测试点约束
记 $C$ 为 FJ 的评分系数。
本题共有 20 个测试点,对于所有测试点:$n=50$,$C=2\times 10^5$。
对于测试点 1 到 6,$m=50$。
对于测试点 7 到 14,记 id 为该测试点编号,$m=(id-6)\times150$。
对于测试点 15 到 20,$m=1600$。
对于一个测试点:
若你的策略不合法或输出的 $K > 10^6$。那么你会获得 $0$ 分。
否则你会获得 $\left\lfloor5\times\min\left(1,\frac{C}{K}\right)\right\rfloor$ 分。