Pagini recente » Cod sursa (job #519103) | Cod sursa (job #2661859) | Cod sursa (job #2594226) | Cod sursa (job #601018) | Cod sursa (job #469691)
Cod sursa(job #469691)
#include<fstream>
#include<iostream>
using namespace std;
long long f[100];
int main()
{
int i;
long long l,sum;
long long limit=1;
for(i=1;i<=15;++i)
limit*=1ll*10;
++limit;
i=2;
f[0]=f[1]=1;
while(f[i-2]+f[i-1]<=limit)
{
f[i]=f[i-1]+f[i-2];
cout<<f[i]<<'\n';
++i;
}
int nr=i-1;
int n;
long long x1,x2,y1,y2;
ifstream read ("fibo3.in");
ofstream write ("fibo3.out");
read>>n;
while(n--)
{
long long sol=0;
read>>x1>>y1>>x2>>y2;
l=max(x2-x1,y2-y1);
for(i=1;i<=nr;++i)
if(x1+y1<=f[i]&&f[i]<=x2+y2)
{
sum=f[i]-x1-y1;
if(sum<=l)
sol+=min(sum+1,min(x2-x1+1,y2-y1+1));
else
{
sum=2*l-sum;
sol+=min(sum+1,min(x2-x1+1,y2-y1+1));
}
}
write<<sol<<'\n';
}
return 0;
}