POJ 2926 Requirements (多维最远曼哈顿距离)

考虑二维空间上两个坐标之间的曼哈顿距离(x1, y1) 和 (x2, y2),|x1-x2| +|y1-y2|去掉绝对值符号后共有下列四种情况

(x1-x2) + (y1-y2), (x1-x2) + (y2-y1), (x2-x1) + (y1-y2), (x2-x1) + (y2-y1)

转化一下:

(x1+y1) - (x2+y2), (x1-y1) - (x2-y2), (-x1+y1) - (-x2+y2), (-x1-y1) - (-x2-y2)

我们用0表示‘-’  1表示‘+’   00 01 10 11   用二进制枚举所有情况

//#pragma comment(linker, "/STACK:102400000,102400000")
#include
#include
using namespace std;
const int M=100005;
#define inf 1e100
double a[M][5];
int n;

int main()
{
    while (~scanf("%d", &n))
    {
        for (int i=0; i


你可能感兴趣的:(POJ)