Cod sursa(job #3145591)
| Utilizator | Data | 16 august 2023 12:59:21 | |
|---|---|---|---|
| Problema | Fractal | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.6 kb |
#include <iostream>
#include <vector>
#include <algorithm>
#include <cmath>
#include <fstream>
using namespace std;
ifstream fin ("fractal.in");
ofstream fout ("fractal.out");
int solve(int k,int x,int y)
{
int d;
if(k==0)
return 0;
d=(1<<(k-1));
if(x<=d && y<=d)
return solve(k-1,y,x);
if(x>d && y<=d)
return d*d+solve(k-1,x-d,y);
if(x>d && y>d)
return 2*d*d+solve(k-1,x-d,y-d);
else
return 3*d*d+solve(k-1,2*d-y+1,d-x+1);
}
int main()
{
int k,x,y;
fin>>k>>y>>x;
fout<<solve(k,x,y);
return 0;
}
