ZOJ-3295

来源:互联网 发布:网络金融销售是传销吗 编辑:程序博客网 时间:2024/06/03 15:27

单淘汰赛,求一个人的最大胜场和最小胜场,当这个的value是所有人最大时,胜场固定为n,否则最小胜场为0,因为有可能第一场就碰到厉害的人输掉,最大胜场为比他的小的人加他自己的总数取2的对数

#include<stdio.h>int main(){    int n, k, v[1024];    while (scanf("%d %d", &n, &k) != EOF)    {        int i, vk, max = 0, min = 0, count = 1, total = 1 << n;        for (i = 0; i < total; i++)            scanf("%d", &v[i]);        vk = v[k];        for (i = 0; i < total; i++)            if (v[i] < vk)                count++;        if (count == total)            max = min = n;        else        {            while (1 << max <= count)                max++;            max--;        }        printf("%d %d\n", min, max);    }    return 0;}


0 0
原创粉丝点击