这里首先奉上代码。最近有点忙。下次再发题解。
#include<stdio.h>
#include<iostream>
#include<queue>
#include<vector>
#include<stdlib.h>
#include<algorithm>
#include<math.h>
#include<memory.h>
using namespace std;
const int root = 1;
const int INF = 1<<30;
const int MAX_T = 1000002;
const int MAX_N = 302;
const int MAX_D = 4;
int dx[]={0,0,-1,1};
int dy[]={-1,1,0,0};
//init
inline int absdist(int value)
{
return value>0?value:-value;
}
struct rnode
{
int x;
int y;
int ID;
};
struct rnode R[MAX_N]; //input_gnode
int discretx[MAX_N]; //discret
int discrety[MAX_N]; //discret
int rememx[MAX_N]; //init_x
int rememy[MAX_N]; //init_y
int lengthx; //discret_x_length
int lengthy; //discret_y_length
int findx[MAX_T]; //x->discret_x
int findy[MAX_T]; //y->discret_y
int numx[MAX_T];
int numy[MAX_T];
//
struct gnode
{
int x,y;
}; //info
queue <struct gnode> Q;
b