NYOJ---1131买水果

买水果

时间限制:1000 ms  |  内存限制:65535 KB

难度:0

描述

今天zz突然想吃水果了,然后他到超市去买水果,现超市有n个不同的水果,zz要买m个水果

(m<=n);那么zz有多少种买水果的方式??

输入
输入T组数据(T<=100)

然后输入T行,每行输入两个数n,m(0< n < 2^31);

输出
每一行输出一个数(保证在0~2^31);
样例输入
2
4 2
3 3
样例输出
6
1
上传者
ACM_张书军

分析:这是一道数学上的排列组合问题,另外数字比较大需要用到longlong的类型.

#include<iostream>
#include<stdio.h>
#include<string.h>
using namespace std;
int main()
{
    long long n,m;
    long long a,b,sum;
    int test;
    cin>>test;
    while(test--)
    {
        sum=1;
        scanf("%lld%lld",&n,&m);
        if(n-m<m)
            m=n-m;                    //使时间复杂度降了下来C(n,m)=C(n,n-m);如果没有的话会超时
            b=m;
        for(long long i=n;i>n-m;i--)
        {
            sum=sum*i;
            while(sum%b==0&&b>1)      //分子下面的从m到1的连乘
            {
                sum=sum/b;
                b--;
            }
        }
        printf("%lld\n",sum);
    }
}
时间: 2024-10-25 14:54:36

NYOJ---1131买水果的相关文章

买水果

买水果 时间限制:1000 ms  |  内存限制:65535 KB 难度:0 描述 今天zz突然想吃水果了,然后他到超市去买水果,现超市有n个不同的水果,zz要买m个水果 (m<=n);那么zz有多少种买水果的方式?? 输入 输入T组数据(T<=100) 然后输入T行,每行输入两个数n,m(0< n < 2^31): 输出 每一行输出一个数(保证在0~2^31): 样例输入 2 4 2 3 3 样例输出 6 1 上传者 ACM_张书军 思路:之前比赛的时候写的超时是,一次在网上看

京东研发类-编程题-买水果

笔试的时候,没有考虑到购买多样水果的时候,每样水果的重复次数,因此没能AC. 现改正,测试了几个用例. public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNext()) { String[]s1 = sc.nextLine().split(" "); //价格数目 int n = Integer.valueOf(s1[0]); //物品数目 int m =

水果店买水果系统

原代码: product_list = [{'name': '苹果', 'price': 10}, {'name': '榴莲', 'price': 30}, {'name': '草莓', 'price': 20}, {'name': '菠萝', 'price': 15}, ] # 1 创建一个购物车盛放水果 shopping_cart = {} # 2 提示用户输入钱 money_str = input('请展示一下你的钱:') if money_str.isdigit(): user_mone

NYOJ 1082 买新书了【简单题】

题目链接 #include<stdio.h> int main() { int T,N,K; scanf("%d",&T); while(T--) { scanf("%d%d",&N,&K); if(N%K==0) printf("%d\n",N/K); else printf("%d\n",N/K+1); } return 0; }

3304 水果姐逛水果街Ⅰ

3304 水果姐逛水果街Ⅰ 时间限制: 2 s 空间限制: 256000 KB 题目等级 : 钻石 Diamond 题解 查看运行结果 题目描述 Description 水果姐今天心情不错,来到了水果街. 水果街有n家水果店,呈直线结构,编号为1~n,每家店能买水果也能卖水果,并且同一家店卖与买的价格一样. 学过oi的水果姐迅速发现了一个赚钱的方法:在某家水果店买一个水果,再到另外一家店卖出去,赚差价. 就在水果姐窃喜的时候,cgh突然出现,他为了为难水果姐,给出m个问题,每个问题要求水果姐从第

【线段树】【分类讨论】水果姐逛水果街Ⅰ

3304 水果姐逛水果街Ⅰ 时间限制: 2 s 空间限制: 256000 KB 题目等级 : 钻石 Diamond 题目描述 Description 水果姐今天心情不错,来到了水果街. 水果街有n家水果店,呈直线结构,编号为1~n,每家店能买水果也能卖水果,并且同一家店卖与买的价格一样. 学过oi的水果姐迅速发现了一个赚钱的方法:在某家水果店买一个水果,再到另外一家店卖出去,赚差价. 就在水果姐窃喜的时候,cgh突然出现,他为了为难水果姐,给出m个问题,每个问题要求水果姐从第x家店出发到第y家店

【树上倍增】【分类讨论】水果姐逛水果街Ⅱ

3305 水果姐逛水果街Ⅱ 时间限制: 2 s 空间限制: 256000 KB 题目等级 : 钻石 Diamond 题目描述 Description 水果姐第二天心情也很不错,又来逛水果街. 突然,cgh又出现了.cgh施展了魔法,水果街变成了树结构(店与店之间只有一条唯一的路径). 同样还是n家水果店,编号为1~n,每家店能买水果也能卖水果,并且同一家店卖与买的价格一样. cgh给出m个问题,每个问题要求水果姐从第x家店出发到第y家店,途中只能选一家店买一个水果,然后选一家店(可以是同一家店,

【树链剖分】【分类讨论】水果姐逛水果街Ⅲ

3306 水果姐逛水果街Ⅲ 时间限制: 2 s 空间限制: 256000 KB 题目等级 : 大师 Master 题目描述 Description 连续两天都没有被cgh难倒,水果姐心情很不错,第三天又来逛水果街. 今天cgh早早就来到了水果街等水果姐,因为他带来了帮手cys.cgh的魔法是把水果街变成树结构,而cys的魔法是瞬间改变某家店的水果价格.一边问一边改,绝不给水果姐思考的时间! 同样还是n家水果店,编号为1~n,每家店能买水果也能卖水果,并且同一家店卖与买的价格一样. cgh和cys

codevs3304水果姐逛街(线段数)

3304 水果姐逛水果街Ⅰ 时间限制: 2 s 空间限制: 256000 KB 题目等级 : 钻石 Diamond 题目描述 Description 水果姐今天心情不错,来到了水果街. 水果街有n家水果店,呈直线结构,编号为1~n,每家店能买水果也能卖水果,并且同一家店卖与买的价格一样. 学过oi的水果姐迅速发现了一个赚钱的方法:在某家水果店买一个水果,再到另外一家店卖出去,赚差价. 就在水果姐窃喜的时候,cgh突然出现,他为了为难水果姐,给出m个问题,每个问题要求水果姐从第x家店出发到第y家店