Pagini recente » Cod sursa (job #1196573) | Cod sursa (job #871978) | Cod sursa (job #566713) | Cod sursa (job #1203226) | Cod sursa (job #1792598)
#include<fstream>
#include<algorithm>
using namespace std;
ifstream fin("fractal.in");
ofstream fout("fractal.out");
int k, x, y;
long long sol = 0;
void f( int k, int x, int y ){
int n = (1<<k);
if( k > 0 ){
if( x <= n / 2 && y <= n / 2 ){
sol += 0;
f( k - 1, y, x );
}
if( n / 2 < x && y <= n / 2 ){
sol += 1LL * (n / 2) * (n / 2);
f( k - 1, x - n / 2, y );
}
if( n / 2 < x && n / 2 < y ){
sol += 2LL * (n / 2) * (n / 2);
f( k - 1, x - n / 2, y - n / 2 );
}
if( x <= n / 2 && n / 2 < y ){
sol += 3LL * (n / 2) * (n / 2);
f( k - 1, y - n / 2 + 1, n / 2 - x + 1 );
}
}
return ;
}
int main(){
fin >> k >> x >> y;
f( k, x, y );
fout << sol;
return 0;
}