• Game of Peace


    Time Limit: 4000ms, Special Time Limit:10000ms, Memory Limit:65536KB
    Total submit users: 20, Accepted users: 12
    Problem 13553 : No special judgement
    Problem description

    Bob has learned a new magic trick that needs a very special preparation. Once he masters the trick he will be able to bring peace to the world, but if he fails, the world will be destroyed.

    The preparation is performed as follows: There are two containers, initially one is empty and the other one has X marbles. Bob has a Marble Cloning Machine, it clones the marbles in the container with the larger number of marbles, then pours the new clones into the other container (e.g. if the two containers have 7 and 4 marbles, after the cloning step they will have 7 and 11 marbles). The machine does this cloning operation exactly M times. However, there is a bug in the machine, after it performs N cloning operations (N ≤ M ), it will add Y extra marbles to the container with the larger number of marbles. Then the machine will continue normally with the cloning operation exactly M - N times.

    During the cloning operations, if both containers have the same number of marbles, any of them can be considered the one with the larger number of marbles.

    Now, the bug in Bob’s machine is threatening to destroy the world. But his nerdy friend Alice told him that she knows how to fix it. All he has to do is to calculate the greatest common divisor of the sizes of the two containers after the cloning machine is done. Can you help Bob save the world?



    Input

    Your program will be tested on one or more test cases. The first line of the input will be a single integer T (1 ≤ T ≤ 1,000) representing the number of test cases. Followed by T test cases. Each test case will consist of a single line, containing 4 integers separated by a single space X , N , Y and M (1 ≤ X , Y ≤ 1,000) (0 ≤ N ≤ 70) (N ≤ M ≤ 100,000) which are the numbers as described above.



    Output

    For each test case print a single line containing “Case n:” (without quotes) where n is the test case number (starting from 1) followed by a space then the greatest common divisor of the sizes of the two containers after the machine is done.



    Sample Input
    2
    4 3 6 5
    5 1 15 2
    Sample Output
    Case 1: 2
    Case 2: 5
    Judge Tips
    Note In the first sample test case, the number of marbles in each container will be the following after each step: (4, 0), (4, 4), (4, 8), (12, 8), (18, 8), (18, 26), (44, 26). The greatest common divisor of 44 and 26 is 2.

    题意:

    有两个容器,一个为空,另一个有x大理石,总共有m次操作,每次操作可以从两容器较大的一个中克隆所有大理石并加到另一个容器中,执行完第n次操作后要在较大的容器中额外加入y大理石,再继续剩余m-n操作。求最终两容器中个数的最大公约数。

    附AC代码:

     1 #include<iostream>
     2 #include<cstring>
     3 #include<cmath>
     4 #include<algorithm>
     5 #include<cstdio>
     6 using namespace std;
     7 
     8 typedef __int64 ll;
     9 
    10 ll t,x,n,y,m;
    11 ll a,b;
    12 
    13 ll GDC(ll a,ll b){
    14     return (b>0)?GDC(b,a%b):a;
    15 }
    16 
    17 int main(){
    18     while(cin>>t&&t){
    19         int ans=1;
    20         while(t--){
    21             cin>>x>>n>>y>>m;
    22             a=0;
    23             b=x;
    24             for(int i=1;i<=n;i++){
    25                 if(b>a){
    26                     a+=b;
    27                 }
    28                 else{
    29                     b+=a;
    30                 }
    31             }
    32              
    33             if(a>=b){
    34                 a+=y;
    35             }
    36             else{
    37                 b+=y;
    38             }
    39             
    40             
    41             ll sum;
    42             if(a>b){
    43                 sum=GDC(a,b);
    44             }
    45             else{
    46                 sum=GDC(b,a);
    47             }
    48             printf("Case %d: %I64d
    ",ans,sum);
    49             ans++;
    50         }
    51     }
    52     return 0;
    53 }
  • 相关阅读:
    python argparse传入布尔参数不生效解决
    mac下python3.7安装mysqlclient出错解决
    Mac下Homebrew替换镜像
    上传docker镜像到阿里云镜像源
    js拼接url以及为html某标签属性赋值
    【翻译】REST framework JWT Auth(django rest framework-jwt)
    nginx.conf配置详解
    mysql5.7新增加用户和授权
    mysql远程连接速度很慢
    ubuntu安装shadow socks-qt5
  • 原文地址:https://www.cnblogs.com/Kiven5197/p/5700126.html
Copyright © 2020-2023  润新知