Pagini recente » Cod sursa (job #2615866) | Cod sursa (job #2298283) | Cod sursa (job #278129) | Cod sursa (job #1162406) | Cod sursa (job #2052374)
#include <fstream>
#define DIM 8
using namespace std;
long long l[DIM],L[DIM],x1[DIM],x2[DIM],y1[DIM],y2[DIM];
int main()
{
ifstream f("drept.in");
ofstream g("drept.out");
long long i=1,j,n,k,x,y,solutie=0;
long long dir=-1;
f>>k>>x>>y;
l[1]=1;
L[1]=k;
i=1;
x1[1]=0;
x2[1]=k;
y1[1]=0;
y2[1]=1;
if(x1[i]<=x and x<=x2[i] and y1[i]<=y and y<=y2[i])
solutie=1;
else
{
while(solutie==0)
{
dir=(dir+1)%4;
++i;
l[i]=L[i-1]+l[i-2];
L[i]=k*l[i];
/************************************/
if(dir==0) //construim pe latura din N (II)
{
x1[i]=x1[i-2];
x2[i]=x2[i-1];
y1[i]=y2[i-1];
y2[i]=y1[i]+L[i];
}
/************************************/
else if(dir==1) //construim pe latura din V (III)
{
x1[i]=x1[i-1]-L[i];
x2[i]=x1[i-1];
y1[i]=y1[i-2];
y2[i]=y2[i-1];
}
else if(dir==2) //construim pe latura din S (IV)
{
x1[i]=x1[i-1];
x2[i]=x2[i-2];
y1[i]=y1[i-1]-L[i];
y2[i]=y1[i-1];
}
else if(dir==3) //construim pe latura din E (V)
{
x1[i]=x2[i-1];
x2[i]=x1[i]+L[i];
y1[i]=y1[i-1];
y2[i]=y2[i-2];
}
if(x1[i]<=x and x<=x2[i])
if(y1[i]<=y and y<=y2[i])
{
solutie=i;
}
}
}
g<<solutie<<'\n';
return 0;
}