zoukankan      html  css  js  c++  java
  • Baskets of Gold Coins

    Baskets of Gold Coins

    Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
    Total Submission(s): 1862    Accepted Submission(s): 1108


    Problem Description
    You are given N baskets of gold coins. The baskets are numbered from 1 to N. In all except one of the baskets, each gold coin weighs w grams. In the one exceptional basket, each gold coin weighs w-d grams. A wizard appears on the scene and takes 1 coin from Basket 1, 2 coins from Basket 2, and so on, up to and including N-1 coins from Basket N-1. He does not take any coins from Basket N. He weighs the selected coins and concludes which of the N baskets contains the lighter coins. Your mission is to emulate the wizard's computation.

     
    Input
    The input file will consist of one or more lines; each line will contain data for one instance of the problem. More specifically, each line will contain four positive integers, separated by one blank space. The first three integers are, respectively, the numbers N, w, and d, as described above. The fourth integer is the result of weighing the selected coins.

    N will be at least 2 and not more than 8000. The value of w will be at most 30. The value of d will be less than w.


     
    Output
    For each instance of the problem, your program will produce one line of output, consisting of one positive integer: the number of the basket that contains lighter coins than the other baskets.

     
    Sample Input
    10 25 8 1109 10 25 8 1045 8000 30 12 959879400
     
    Sample Output
    2 10 50
    题解:这道题就是说有N个篮子,从1到N-1每个篮子取硬币个数为1.....N-1;
    其中有一个篮子的每个硬币价值为w-d,剩余的篮子每个硬币价值为w;
     求这个特殊的篮子取得硬币个数;
    思路就是sum是否等于(n-1+1)*(n-1)/2  *w;等于证明这个特殊的篮子没有被取;
    代码:
    #include<stdio.h>
    #include<string.h>
    int main(){
        int n,w,d,sum;
        while(~scanf("%d%d%d%d",&n,&w,&d,&sum)){
            int x=w*((n-1+1)*(n-1)/2)-sum;
                if(x==0)printf("%d
    ",n);
                else printf("%d
    ",x/d);
        }
        return 0;
    }
  • 相关阅读:
    生成类似于MongoDB产生的ObjectId
    链式编程:遇到多个构造器参数(Constructor Parameters)时要考虑用构建器(Builder)
    mysql时间字符串按年/月/天/时分组查询 -- date_format
    根据模板导出excel
    九度 1188 约瑟夫环问题
    快速排序
    Linux 命令
    volatile小记
    线程池ThreadPoolExecutor
    CyclicBarrier、CountDownLatch与Semaphore的小记
  • 原文地址:https://www.cnblogs.com/handsomecui/p/4803185.html
Copyright © 2011-2022 走看看