Cod sursa(job #466119)

Utilizator cahemanCasian Patrascanu caheman Data 26 iunie 2010 10:37:47
Problema Fibo3 Scor 30
Compilator cpp Status done
Runda Stelele Informaticii 2010, gimnaziu si clasa a IX-a, Ziua 2 Marime 0.66 kb
#include<stdio.h>
long long fibo[55];
long long avem(long x1,long y1,long x2,long y2,int j)
{
long long i,k,nr=0;
i=x1;
k=fibo[j]-i;
while(k>=y1&&i<=x2)
{
if(k<=y2&&i>=x1)
 nr++;
k--;
i++;
}
return nr;
}
int main()
{
freopen("fibo3.in","r",stdin);
freopen("fibo3.out","w",stdout);
long x1,x2,y1,y2,n,i,j;
long long nr;
scanf("%ld",&n);
fibo[0]=fibo[1]=1;
for(i=2;i<=45;i++)
 fibo[i]=fibo[i-1]+fibo[i-2];
for(i=1;i<=n;i++)
 {
 nr=0;
 scanf("%ld%ld%ld%ld",&x1,&y1,&x2,&y2);
 for(j=1;j<=45;j++)
  if(fibo[j]>=x1+y1)
   {
   if(fibo[j]<=x2+y2)
    nr=nr+avem(x1,y1,x2,y2,j);
   else
    break;
   }
 printf("%lld\n",nr);
 }
return 0;
}