⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 h.c

📁 The 5th Annual Shantou Univ.Collegiage Programming Contest
💻 C
字号:
#include <stdio.h>

int list[1048577];
int max[524289];
int min[524289];

int main()
{
    int n,m,k;
    int i,listcount,playercount;
    int casenum=1;
    scanf("%d",&n);
    while(n)
    {
        playercount=1<<n; //2^n
        listcount=1<<(n+1); //2^(n+1)
        scanf("%d",&list[1]);
        max[list[1]]=1; //根排第一
        for(i=2;i<listcount;i++)
        {
            scanf("%d",&list[i]);
            if(list[i]!=list[i/2]) max[list[i]]=max[list[i/2]]+1;
        }
        for(i=1;i<=playercount;i++) min[i]=1;
        for(i=listcount-1;i>1;i--)
        {
            if(list[i]!=list[i/2]) min[list[i/2]]+=min[list[i]];
        }
        scanf("%d",&m);
        printf("Case:%d\n",casenum++);
        for(i=0;i<m;i++)
        {
            scanf("%d",&k);
            printf("Player %d can be ranked as high as %d or as low as %d.\n",k,max[k],playercount-min[k]+1);
        }
        scanf("%d",&n);
    }
    return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -