Cod sursa(job #1110357)
| Utilizator | Data | 17 februarie 2014 23:44:09 | |
|---|---|---|---|
| Problema | Fractal | Scor | 10 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.71 kb |
#include <cstdio>
#include <cstdint>
using namespace std;
int main()
{
int64_t a,s=0;
int k,x,y;
freopen ("fractal.in","r",stdin);
freopen ("fractal.out","w",stdout);
scanf("%d %d %d",&k,&y,&x);
a=1<<k;
while(k)
{
if(x<=a/2 && y<=a/2)
{
}
else
if(x>a/2 && y<=a/2)
{
s+=1<<(k-1)*2;
}
else
if(x>a/2 && y>a/2)
{
s+=2*(1<<(k-1)*2);
}
else
if(x<=a/2 && y>a/2)
{
s+=3*(1<<(k-1)*2);
}
a>>=1;
k--;
}
printf("%d",s);
fclose(stdin);
fclose(stdout);
return 0;
}
