Cod sursa(job #1420606)
| Utilizator | Data | 18 aprilie 2015 19:24:00 | |
|---|---|---|---|
| Problema | Fractal | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.51 kb |
#include <fstream>
using namespace std;
ifstream f("fractal.in");
ofstream g("fractal.out");
int k,x,y;
int solve(int k, int x, int y)
{
if(k==0) return 0;
int mij=(1<<(k-1));
int f=mij*mij;
if(x<=mij && y<=mij) return solve(k-1,y,x);
if(x<=mij && y>mij) return 3*f+solve(k-1,2*mij-y+1,mij-x+1);
if(x>mij && y<=mij) return f+solve(k-1,x-mij,y);
if(x>mij && y>mij) return 2*f+solve(k-1,x-mij,y-mij);
}
int main()
{
f>>k>>y>>x;
g<<solve(k,x,y)<<'\n';
return 0;
}
