Pagini recente » Cod sursa (job #3259062) | Cod sursa (job #1688223) | Cod sursa (job #146499) | Cod sursa (job #284102) | Cod sursa (job #782765)
Cod sursa(job #782765)
#include <fstream>
using namespace std;
int parcurgere(int k, int x, int y)
{
if(k == 1)
{
if(x == 1)
{
if(y == 1) return 0;
else return 3;
}
if(x == 2)
{
if(y == 1) return 1;
else return 2;
}
}
if(x <= (1 << (k - 1)))
{
if(y <= (1 << (k - 1)))
return parcurgere(k - 1, y, x);
else
return 3 * (1 << (2 * (k - 1))) + parcurgere(k - 1, (1 << k) - y + 1, (1 << (k - 1)) - x + 1);
}
else
{
if(y <= (1 << (k - 1)))
return (1 << (2 * (k - 1))) + parcurgere(k - 1, x - (1 << (k - 1)), y);
else
return 2 * (1 << (2 * (k - 1))) + parcurgere(k - 1, x - (1 << (k - 1)), y - (1 << (k - 1)));
}
}
int main()
{
int n, x, y;
ifstream in("fractal.in");
in>>n>>y>>x; in.close();
ofstream out("fractal.out");
out<<parcurgere(n, x, y); out.close();
return 0;
}