Pagini recente » Clasamentul arhivei Infoarena Monthly | Cod sursa (job #37623) | Cod sursa (job #2882299) | Cod sursa (job #3159454) | Cod sursa (job #467373)
Cod sursa(job #467373)
#include <stdio.h>
FILE *f,*s;
long long int n,i,j,k,v[100];
int main()
{
f=fopen("fibo3.in","r");
s=fopen("fibo3.out","w");
fscanf(f,"%lld",&n);
v[1]=1;
v[2]=2;
for(i=3;i<=100;i++)
v[i]=v[i-1]+v[i-2];
for(j=1;j<=n;j++)
{
int x1,y1,x2,y2;
fscanf(f,"%d %d %d %d\n",&x1,&y1,&x2,&y2);
k=0;
for(i=1;i<=100;i++)
{
if (v[i]>x2+y2) break;
if (v[i]<x1+y1) continue;
long long min=x1;
long long max=x2;
if(v[i]-y2>min) min=v[i]-y2;
if(v[i]-y1<max) max=v[i]-y1;
k+=max-min+1;
}
fprintf(s,"%lld\n",k);
}
fclose(s);
return 0;
}