P2028 龙兄摘苹果

题目描述

龙兄在淘淘摘苹果的那个果园里摘了n个完全互不相同的苹果,好客的园主为他提供了k个篮子,他想把苹果装在篮子里拎回家(由于龙兄的手是无限大的,所以你不必考虑他能不能同时拎这么多篮子)。同时,他不希望有任何一个篮子里是空的,因为这样就做不到物尽其用= =。因此他想知道一共有多少种放苹果的方法,由于他的大脑运算过慢,所以找到了聪明机智的你,他在摘苹果上已经花了很长时间,所以他只能等1秒。(方法很可能非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常多,龙兄的大脑无法存储,所以他会给你一个数p,输出方法数除以p的余数就可以了)

输入格式

一行三个数,依次为n,k,p,含义如题面所示。

输出格式

一个数,方法数除以p的余数,行末有回车。

输入输出样例

输入 #1复制

4 2 3

输出 #1复制

1

说明/提示

[h1]样例解释[/h1]

一共有4个苹果,2个篮子。

有以下7种方法

{1}{2,3,4};{2}{1,3,4};{3}{1,2,4};{4}{1,2,3};

{1,2}{3,4};{1,3}{2,4};{1,4}{2,3}。

7除以3余1。

[h1]数据范围[/h1]

20%的数据,n<=8,k<=8。

60%的数据,n<=100,k<=100。

100%的数据,n<=10000,k<=1000。

保证所有数据n>=k,且答案在64位整型范围内。

#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdio>
#include<cmath>
#include<queue>
using namespace std;
unsigned long long f[10001][1001];
int main(){
    long long n,m,mo;
    scanf("%lld%lld%lld",&n,&m,&mo);
    f[1][1]=f[1][1]|1;
    for (int i=1;i<=n;i++){
        f[i][1]=f[1][1]|1;
        for (int j=1;j<=m;j++){
            if(i==1&&j==1){continue;}
            f[i][j]=((j%mo)*(f[i-1][j]%mo)%mo+(f[i-1][j-1])%mo)%mo;
        }
    }
    printf("%llu",f[n][m]);
}

  

原文地址:https://www.cnblogs.com/xiongchongwen/p/11261589.html

时间: 2024-10-07 23:42:48

P2028 龙兄摘苹果的相关文章

陶陶摘苹果(升级版)

题目描述 又是一年秋季时,陶陶家的苹果树结了n个果子.陶陶又跑去摘苹果,这次她有一个a公分的椅子.当他手够不着时,他会站到椅子上再试试. 这次与NOIp2005普及组第一题不同的是:陶陶之前搬凳子,力气只剩下s了.当然,每次摘苹果时都要用一定的力气.陶陶想知道在s<0之前最多能摘到多少个苹果. 现在已知n个苹果到达地上的高度xi,椅子的高度a,陶陶手伸直的最大长度b,陶陶所剩的力气s,陶陶摘一个苹果需要的力气yi,求陶陶最多能摘到多少个苹果. 输入输出格式 输入格式: 第1行:两个数 苹果数n,

NOIP2005-普及组复赛-第一题-陶陶摘苹果

题目描述 Description 陶陶家的院子里有一棵苹果树,每到秋天树上就会结出10个苹果.苹果成熟的时候,陶陶就会跑去摘苹果.陶陶有个30厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试. 现在已知10个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高度,请帮陶陶算一下她能够摘到的苹果的数目.假设她碰到苹果,苹果就会掉下来. 输入输出格式 Input/output 输入格式:输入文件apple.in包括两行数据.第一行包含10个100到200之间(包括100和200

P1478 陶陶摘苹果(升级版)

题目描述 又是一年秋季时,陶陶家的苹果树结了n个果子.陶陶又跑去摘苹果,这次她有一个a公分的椅子.当他手够不着时,他会站到椅子上再试试. 这次与NOIp2005普及组第一题不同的是:陶陶之前搬凳子,力气只剩下s了.当然,每次摘苹果时都要用一定的力气.陶陶想知道在s<0之前最多能摘到多少个苹果. 现在已知n个苹果到达地上的高度xi,椅子的高度a,陶陶手伸直的最大长度b,陶陶所剩的力气s,陶陶摘一个苹果需要的力气yi,求陶陶最多能摘到多少个苹果. 输入输出格式 输入格式: 第1行:两个数 苹果数n,

Codevs 5564 陶陶摘苹果2

5564 陶陶摘苹果2 时间限制: 1 s 空间限制: 16000 KB 题目等级 : 白银 Silver 题目描述 Description 陶陶已经够高摘到所有苹果了,但是他力量有限,最大承受质量为Q kg,有K个苹果,每个苹果有自己的价值和质量,请你帮陶陶看看怎么摘能够价值最大. 输入描述 Input Description 两个整数Q,K,代表最大承受,苹果的数量. 以下k行,两个整数w,v,代表每个苹果的质量和价值. 输出描述 Output Description 输出一个整数代表最大的

洛谷-陶陶摘苹果-数组

题目描述 Description 陶陶家的院子里有一棵苹果树,每到秋天树上就会结出10个苹果.苹果成熟的时候,陶陶就会跑去摘苹果.陶陶有个30厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试. 现在已知10个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高度,请帮陶陶算一下她能够摘到的苹果的数目.假设她碰到苹果,苹果就会掉下来. 输入输出格式 Input/output 输入格式:输入文件apple.in包括两行数据.第一行包含10个100到200之间(包括100和200

洛谷-陶陶摘苹果(升级版)-数组

题目描述 Description 又是一年秋季时,陶陶家的苹果树结了n个果子.陶陶又跑去摘苹果,这次她有一个a公分的椅子.当他手够不着时,他会站到椅子上再试试. 这次与NOIp2005普及组第一题不同的是:陶陶之前搬凳子,力气只剩下s了.当然,每次摘苹果时都要用一定的力气.陶陶想知道在s<0之前最多能摘到多少个苹果.    现在已知n个苹果到达地上的高度xi,椅子的高度a,陶陶手伸直的最大长度b,陶陶所剩的力气s,陶陶摘一个苹果需要的力气yi,求陶陶最多能摘到多少个苹果. 输入输出格式 Inpu

武汉科技大学ACM:1007: 陶陶摘苹果

Problem Description 陶陶家的院子里有一棵苹果树,每到秋天树上就会结出10个苹果.苹果成熟的时候,陶陶就会跑去摘苹果.陶陶有个30厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试. 现在已知10个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高度,请帮陶陶算一下她能够摘到的苹果的数目.假设她碰到苹果,苹果就会掉下来. Input 输入包括两行数据.第一行包含10个100到200之间(包括100和200)的整数(以厘米为单位)分别表示10个苹果到地面的高

洛谷——P1046 陶陶摘苹果

https://www.luogu.org/problem/show?pid=1046 题目描述 陶陶家的院子里有一棵苹果树,每到秋天树上就会结出10个苹果.苹果成熟的时候,陶陶就会跑去摘苹果.陶陶有个30厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试. 现在已知10个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高度,请帮陶陶算一下她能够摘到的苹果的数目.假设她碰到苹果,苹果就会掉下来. 输入输出格式 输入格式: 输入文件apple.in包括两行数据.第一行包含10

02:陶陶摘苹果

总时间限制:  1000ms 内存限制:  65536kB 描述 陶陶家的院子里有一棵苹果树,每到秋天树上就会结出10个苹果.苹果成熟的时候,陶陶就会跑去摘苹果.陶陶有个30厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试. 现在已知10个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高度,请帮陶陶算一下她能够摘到的苹果的数目.假设她碰到苹果,苹果就会掉下来. 输入 包括两行数据.第一行包含10个100到200之间(包括100和200)的整数(以厘米为单位)分别表示10