Pagini recente » Cod sursa (job #711219) | Cod sursa (job #2218701) | Cod sursa (job #1602027) | Cod sursa (job #17859) | Cod sursa (job #434285)
Cod sursa(job #434285)
#include <stdio.h>
int a[3][200000];
int c, n, m;
int i, j, k, p;
int p1, p2, sf1, sf2;
int gropi, nr;
int c1, c2;
int main()
{
FILE *f = fopen ("gropi.in","r");
FILE *g = fopen ("gropi.out","w");
fscanf (f,"%d %d", &c, &n);
for (i=1; i<=n; ++i)
{
fscanf (f,"%d %d", &j, &k);
a[j][k] = 1;
}
fscanf (f,"%d", &m);
for (p=1; p<=m; ++p)
{
gropi = 1;
fscanf (f,"%d %d %d %d", &p1, &p2, &sf1, &sf2);
if (p2 < sf2)
{
c1 = p1;
c2 = p2;
}
else
{
c1 = sf1;
c2 = sf2;
sf1 = p1;
sf2 = p2;
}
while (c2 < sf2)
{
if (a[c1][c2+1] == 0)
{
gropi ++;
c2 ++;
}
else
{
gropi ++;
c1 ++;
}
if (c2 == sf2)
if (c1 + 1 == sf1 || c1 - 1 == sf1)
{
gropi ++;
break;
}
}
fprintf (g,"%d\n", gropi);
}
fclose(g);
fclose(f);
return 0;
}