Pagini recente » Cod sursa (job #461253) | Cod sursa (job #812716) | Cod sursa (job #2233761) | Cod sursa (job #2855445) | Cod sursa (job #198792)
Cod sursa(job #198792)
#include<iostream>
#include<fstream>
#include<math>
ifstream f("gropi.in");
ofstream g("gropi.out");
int C,N,s,M;
int i0,i1,j0,j1,ip,gi[1000],gj[1000],i,j,n,x;
void main()
{
f>>C;
f>>N;
for(i=1;i<=N;i++)
f>>gi[i]>>gj[i];
//ordonare crescatoare gropi
for(i=1;i<N;i++)
for(j=i+1;j<=N;j++)
if(gj[i]>gj[j]) {
x=gj[i];gj[i]=gj[j];gj[j]=x;
x=gi[i];gi[i]=gi[j];gi[j]=x;}
f>>M;
for(i=1;i<=M;i++)
{
f>>i0>>j0>>i1>>j1;
if(j0>j1) {x=j0;j0=j1;j1=x;x=i0;i0=i1;i1=x;}
ip=i0;s=j1-j0+1;j=1;
while(gj[j]<j0)
j++;
while(gj[j]<=j1)
{
if(ip==gi[j]) {s++;ip=2-ip+1;}
j++;
}
if(ip!=i1) s++;
g<<s<<endl;
}
}