Cod sursa(job #1401954)
| Utilizator | Data | 26 martie 2015 11:19:32 | |
|---|---|---|---|
| Problema | Fractal | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.55 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("fractal.in");
ofstream g("fractal.out");
int n,x,y;
int solve(int n, int x, int y)
{
if(n--==0)return 0;
int l = 1 << n;
if(x <= l && y <= l) return solve(n, y, x);
if(x > l && y <= l) return l * l + solve(n, x - l, y);
if(x > l && y > l) return 2 * l * l+solve(n, x - l, y - l);
return 3 * l * l + solve(n, 2 * l - y + 1,l - x + 1);
}
int main()
{
f>>n>>y>>x;
g<<solve(n,x,y);
return 0;
}
