Pagini recente » Cod sursa (job #3278905) | Cod sursa (job #2549176) | Cod sursa (job #108305) | Monitorul de evaluare | Cod sursa (job #1988288)
#include <iostream>
#include <stdlib.h>
#include <fstream>
#define MAXC 250
#define MAX(a, b) ((a) > (b) ? (a) : (b))
using namespace std;
ifstream in ("gropi.in");
ofstream out("gropi.out");
int N,M,C;
long long v1[MAXC],v2[MAXC];//C - coloane , N - nr gropi , M - nr cerinte
int i,linie,col,linie1,col1,dif;
void cit(){
in>>C>>N;
for( i = 0 ; i < N; i ++){
in>>linie>>col;
if(linie == 1){
v1[col] = 1;
}else if(linie == 2){
v2[col] = 1;
}
}
}
bool groapa(long long int v[],int y, int y1){
for(y ; y <= y1; y ++){
if(v[y]){
return false;
}
}
return true;
}
int lungime(int x , int y , int x1, int y1){
if(x == 1){
dif = abs(y-y1)+1;
cout<<dif;
if(groapa(v1,y,y1)){
return dif;
}
return dif + 2;
}
if(x == 2){
dif = abs(y-y1);
if(groapa(v2,y,y1)){
return dif;
}
return dif + 2;
}
}
int main()
{
cit();
in >>M;
for(i = 0; i < M; i ++){
in>>linie>>col>>linie1>>col1;
if(linie == linie1){
out<<lungime(linie,col,linie1,col1)<<"\n";
}else{
out<<lungime(2,col,2,col1)<<"\n";
}
}
return 0;
}