poj 2756

来源:互联网 发布:java main启动项目 编辑:程序博客网 时间:2024/06/07 15:51

利用二叉树的性质:

lchild=2*parent;

rchild=2*parent+1;

就可以做出来。

#include<stdio.h>int d(int a,int c[]){    int i=0;    while(a!=0)    {        c[i++]=a;        a/=2;    }    return i;}int main(){    int x,y;    int i,j,count=0;    int a[10],b[10];    scanf("%d%d",&x,&y);    x=d(x,a);    y=d(y,b);    for(i=x,j=y;i>=0&&i>=0;i--,j--)        if(a[i]==b[j])        count=a[i];    printf("%d\n",count);}


 

0 0
原创粉丝点击