本文共 416 字,大约阅读时间需要 1 分钟。
题意 :在一个n*nd的棋盘上放置n个车,使得各个车不在同一行同一列,同时第r个车要在一个规定的矩形之内(x1,y1,x2,y2),结果打印出每个车的位置坐标
方法:贪心
思路:这里有一个小技巧 就是把x和y坐标分开来看,分别求每个车的x和y的值,行列是无关的,因此把原问题分解成一个一维问题,然后使用贪心的方法,
贪心的思路是先按照x2升序排列,然后从x1的位置开始找,找到第一个没有放过车的位置,把此车放在这个位置,y坐标也是如此
代码如下:
#include#include #include #include using namespace std;const int MAXN=5050;struct Rol{ int r1,r2,idx; bool operator<(Rol r) { return r2
转载地址:http://pygsi.baihongyu.com/