zoukankan      html  css  js  c++  java
  • Gold Rush(hnu13249)

    Gold Rush
    Time Limit: 2000ms, Special Time Limit:5000ms, Memory Limit:65536KB
    Total submit users: 15, Accepted users: 10
    Problem 13249 : No special judgement
    Problem description

    Alice and Bob are on an adventure trip. Deep in the woods they discover a mysterious deep cave which they enter flutteringly. They find an old console with a giant bar of gold in it. On the bar, there is a number n. Both tried to carry the gold out the cave, but it was still to heavy for one of them.

    Suddenly a little fairy appears in the corner of the cave and approaches Alice and Bob: “This gold is heavy. It weights 2n femto-grams (10-15) and n can reach 62.” 

    Bob answered: “What luck! Alice’s knapsack can carry up to a femto-grams and mine b femto-grams with a + b = 2n.” Alice interjected: “But how can we divide the gold?” 

    Fairy: “I can help you with a spell that can burst one piece of gold into two equally weighted ones. But for each single spell, the cave will be locked one additional day.” 

    Alice consults with Bob to use the help of the fairy and take all of the gold. How long will they be trapped if they are clever?



    Input

    The input starts with the number t <= 1000 of test cases. Then t lines follow, each describing a single test case consisting of three numbers n, a and b with a, b >= 1, a + b = 2n, and 1 <= n <= 62.



    Output

    Output one line for every test case with the minimal number of days that Alice and Bob are locked in the cave.



    Sample Input
    3
    2 2 2
    2 1 3
    10 1000 24
    Sample Output
    1
    2
    7
    Problem Source
    GCPC 2014

    题目链接:http://acm.hnu.cn/online/?action=problem&type=show&id=13249&courseid=311

    转载请注明出处:寻找&星空の孩子

    #include<stdio.h>
    #define LL __int64
    
    LL a,b;
    int main()
    {
        int n,T;
        scanf("%d",&T);
        while(T--)
        {
            scanf("%d%I64d%I64d",&n,&a,&b);
            int p=0,q=0;
            for(int i=0;i<=n;i++)
            {
                if(a%2)
                {
                    p=i;
                    break;
                }
                a/=2;
            }
            for(int i=0;i<=n;i++)
            {
                if(b%2)
                {
                    q=i;
                    break;
                }
                b/=2;
            }
            if(p<q)p=q;
            printf("%d
    ",n-p);
    
        }
        return 0;
    }
  • 相关阅读:
    JQuery Ajax动态生成表格
    简单模拟JQuery框架
    事务和锁学习
    Js面向对象和数据类型内存分配
    Spring.Net学习 控制反转(IoC)和面向切面编程(AOP)
    html <pre>标签
    裸眼3D
    sysobjects syscolumns和SysTypes笔记
    JQuery EasyUi练习Demo(带源码)
    Oracle 游标使用大全
  • 原文地址:https://www.cnblogs.com/yuyixingkong/p/4356535.html
Copyright © 2011-2022 走看看