Pagini recente » Cod sursa (job #2195556) | Cod sursa (job #1681424) | Cod sursa (job #660528) | Cod sursa (job #753417) | Cod sursa (job #474314)
Cod sursa(job #474314)
#include <fstream>
#include <cstring>
using namespace std;
unsigned long long minim(unsigned long long a,unsigned long long b)
{
if(a<b) return a; else return b;
}
unsigned long long x,fibo[90],suma,x1,x2,y2,y1,i,j,m,n;
int main()
{
ifstream fi("fibo3.in");
ofstream fo("fibo3.out");
m=2;
fibo[1]=1;
fibo[2]=2;
while(fibo[m-1]+fibo[m]<2000000000000001LL)
{
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;
}