Pagini recente » Cod sursa (job #601010) | Cod sursa (job #536695) | Cod sursa (job #2180554) | Cod sursa (job #2517012) | Cod sursa (job #474309)
Cod sursa(job #474309)
#include <fstream>
#include <cstring>
using namespace std;
int minim(int a,int b)
{
if(a<b) return a; else return b;
}
unsigned long long x,fibo[90],suma,x1,x2,y2,y1,i,j,m,n,ok;
int main()
{
ifstream fi("fibo3.in");
ofstream fo("fibo3.out");
m=2;
fibo[1]=1;
fibo[2]=2;
while(fibo[m-1]+fibo[m]<1000000000000000LL)
{
x=fibo[m-1]+fibo[m];
fibo[++m]=x;
}
fi>>n;
for(i=1;i<=n;i++)
{
fi>>x1>>y1>>x2>>y2;
suma=0;
for(j=1;j<=m and fibo[j]<=x2+y2;j++)
if(fibo[j]>=x1+y1)
{
if(fibo[j]<=x1+y2)
suma+=minim(fibo[j]-x1-y1+1,x2-x1+1); else
suma+=minim(y2-y1+1,x2-fibo[j]+y2+1);
}
fo<<suma<<"\n";
}
fo.close();
return 0;
}