Cod sursa(job #1588595)

Utilizator dan.andreescdan andr dan.andreesc Data 3 februarie 2016 12:19:52
Problema Factorial Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <fstream>

using namespace std;
int p,k,n,x,y;
ofstream g("z.out");
int det(int l1,int c1,int l2, int c2, int min1,int max1){
    if(l1==l2)
        return min1;
    else{
        int l=(l1+l2)/2,c=(c1+c2)/2;
        int cnt=(max1-min1+1)/4;
        if(x<=l&&y<=c) return det(l1,c1,l,c,min1,min1+cnt-1);
        if(x<=l&&y>c) return det(l1,c+1,l,c2,min1+cnt,min1+2*cnt-1);
        if(x>l&&y<=c) return det(l+1,c1,l2,c,min1+2*cnt,min1+3*cnt-1);
        if(x>l&&y>c) return det(l+1,c+1,l2,c2,min1+3*cnt,max1);
    }
}
int main()
{
    freopen("z.in","r",stdin);
    scanf("%d%d",&p,&k);
    n=1;
    int i;
    for(i=1;i<=p;i++)
        n*=2;
    for(i=1;i<=k;i++)
    {
        scanf("%d%d",&x,&y);
        g<<det(1,1,n,n,1,n*n)<<'\n';
    }
    return 0;
}