Cod sursa(job #2327572)
Utilizator | Data | 24 ianuarie 2019 19:28:45 | |
---|---|---|---|
Problema | Fractal | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.4 kb |
#include <stdio.h>
int main(){
freopen("fractal.in","r",stdin);
freopen("fractal.out","w",stdout);
int k,n,m,s=0;
scanf("%i%i%i",&k,&n,&m);
while(k--){
int c=1<<k,d=c*c;
if(n<=c) {if(m<=c)n^=m^=n^=m; else m-=c,s+=d;}
else if(m<=c) n=2*c-n+1,m=c-m+1,n^=m^=n^=m,s+=3*d;
else n-=c,m-=c,s+=2*d;
}
printf("%i",s);
return 0;
}