Cod sursa(job #1731038)
| Utilizator | Data | 18 iulie 2016 10:27:24 | |
|---|---|---|---|
| Problema | Fractal | Scor | 80 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.53 kb |
#include <bits/stdc++.h>
using namespace std;
int main(){
ifstream f("fractal.in");
ofstream g("fractal.out");
int x, y, k;
f >> k >> x >> y;
--x, --y;
int rez = 0;
for( ; k; --k){
const int len = 1<<(k-1);
if(x < len && y < len){
swap(x, y); }
else if(x < len && y >= len){
y -= len;
rez += len * len; }
else if(x >= len && y >= len){
x -= len, y -= len;
rez += 2 * len * len; }
else{
x -= len;
swap(x, y);
x = len/2-x, y = len/2-y;
rez += 3 * len * len; } }
g << rez << '\n';
return 0; }
