#define MAX 1024 #include #include #include using namespace std; int numbers[MAX][4]; int blocked[MAX*MAX][2]; bool used[MAX][MAX]; int N, M, P; int main() { ifstream fin; fin.open("flow.in"); ofstream fout("flow.out", ios::out); fin >> N >> M; for (int i = 0; i < M; i++) { fin >> numbers[i][0]; fin >> numbers[i][1]; fin >> numbers[i][2]; fin >> numbers[i][3]; used[numbers[i][0]][numbers[i][1]] = 1; used[numbers[i][2]][numbers[i][3]] = 1; } fin >> P; for (int i = 0; i < P; i++) { fin >> blocked[i][0]; fin >> blocked[i][1]; } int f = abs(numbers[0][0] - numbers[0][2]) + abs(numbers[0][1] - numbers[0][3])+1; fout << f << " "; for (int i = 0; i < f; i++) { if (i+1 != f) { fout << numbers[0][0] << " " << numbers[0][1] << " "; } else { fout << numbers[0][0] << " " << numbers[0][1] << endl; } if (numbers[0][1] > numbers[0][3] && !used[numbers[0][0]][numbers[0][1]-1]) numbers[0][1]--; else if (numbers[0][1] < numbers[0][3] && !used[numbers[0][0]][numbers[0][1]+1])numbers[0][1]++; else if (numbers[0][0] < numbers[0][2] && !used[numbers[0][0]][numbers[0][0]+1]) numbers[0][0]++; else if (numbers[0][0] > numbers[0][2] && !used[numbers[0][0]][numbers[0][0]-1]) numbers[0][0]--; } for (int i = 1; i < M; i++) { fout<<0<