NYOJ 158 省赛来了(变相组合数)

省赛来了

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

难度:2

描述

一年一度的河南省程序设计大赛又要来了。

竞赛是要组队的,组队形式:三人为一队,设队长一名,队员两名。

现在问题就来了,给你m个人,要求每队n个人,求共有几种不同的组队方式。

(题目保证m%n等于0,所有数据不超出int范围)

输入
多组测试数据,以EOF结束。
每组测试数据输入两个整数m,n。
输出
对每组测试数据输出不同组队方式的数量(考虑到输出的数可能会很大,所以请输出对2013取余后的值),并在输出结束之后输入一个换行符。
样例输入
4 2
样例输出
6
 1 #include<iostream>
 2 #include<cstdio>
 3 #include<algorithm>
 4 using namespace std;
 5 int fact(int i)
 6 {
 7     if(i==0 || i==1)
 8         return 1;
 9     return i*fact(i-1);
10 }
11 int main()
12 {
13     int m,n;
14     while(scanf("%d %d",&m,&n)!=EOF)
15     {
16         int count=0;
17         int flag=1;
18         int a=m/n-1;
19         int b=m;
20         while(a--)
21         {
22             count=(fact(b)/(fact(n)*fact(b-n)));
23             flag*=count;
24             b-=n;
25         }
26         printf("%d\n",flag%2013);
27         //printf("%d %d %d %d\n,a,b,flag,count);
28     }
29     return 0;
30 }

时间: 2024-10-08 18:02:57

NYOJ 158 省赛来了(变相组合数)的相关文章

NYOJ 158 省赛来了

省赛来了 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描述 一年一度的河南省程序设计大赛又要来了. 竞赛是要组队的,组队形式:三人为一队,设队长一名,队员两名. 现在问题就来了,给你m个人,要求每队n个人,求共有几种不同的组队方式. (题目保证m%n等于0,所有数据不超出int范围) 输入 多组测试数据,以EOF结束. 每组测试数据输入两个整数m,n. 输出 对每组测试数据输出不同组队方式的数量(考虑到输出的数可能会很大,所以请输出对2013取余后的值),并在输出结束

文章标题 fzu 2020

Problem 2020 组合 Accept: 623 Submit: 1533 Time Limit: 1000 mSec Memory Limit : 32768 KB Problem Description 给出组合数C(n,m), 表示从n个元素中选出m个元素的方案数.例如C(5,2) = 10, C(4,2) = 6.可是当n,m比较大的时候,C(n,m)很大!于是xiaobo希望你输出 C(n,m) mod p的值! Input 输入数据第一行是一个正整数T,表示数据组数 (T <=

【转】Android4.4 之Bluetooth整理

原文网址:http://www.cnblogs.com/shed/p/3737016.html Android 4.4上蓝牙协议栈采用的是BRCM和Google共同开发的bluedroid,代替了之前的Bluez. 一. Bluetooth 源码分布 (基于Android 4.4 ) 1.  packages/apps/Settings/src/com/android/settings/bluetooth      bluetooth Settings 代码 2.  packages/apps/

西电校赛网络赛J题 lucas定理计算组合数

西电校赛网络赛J题  lucas定理计算组合数 问题 J: 找规律II 时间限制: 1 Sec  内存限制: 128 MB 提交: 96  解决: 16 [提交][状态][讨论版] 题目描述 现有数阵如下: 1    2  3   4     5    6 1   3   6  10  15 1   4  10   20 1   5   15 1    6 1 求这个数阵的第n行m列是多少(行列标号从1开始) 结果对10007取模 输入 多组数据,每组数据一行,包含两个整数n,m(1<=n<=

nyoj 32 组合数

组合数 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述 找出从自然数1.2.... .n(0<n<10)中任取r(0<r<=n)个数的所有组合. 输入 输入n.r. 输出 按特定顺序输出所有组合.特定顺序:每一个组合中的值从大到小排列,组合之间按逆字典序排列. 样例输入 5 3 样例输出 543 542 541 532 531 521 432 431 421 321 #include<iostream> #include<cstrin

nyoj 32 组合数【简单dfs】

组合数 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述 找出从自然数1.2.... .n(0<n<10)中任取r(0<r<=n)个数的所有组合. 输入 输入n.r. 输出 按特定顺序输出所有组合.特定顺序:每一个组合中的值从大到小排列,组合之间按逆字典序排列. 样例输入 5 3 样例输出 543 542 541 532 531 521 432 431 421 321 #include<stdio.h> #include<string.

nyoj 32 组合数 (深搜,不错,好题)

组合数 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述 找出从自然数1.2.... .n(0<n<10)中任取r(0<r<=n)个数的所有组合. 输入 输入n.r. 输出 按特定顺序输出所有组合. 特定顺序:每一个组合中的值从大到小排列,组合之间按逆字典序排列. 样例输入 5 3 样例输出 543 542 541 532 531 521 432 431 421 321 来源 [苗栋栋]原创 上传者 苗栋栋 与我之前做的方法不相同,以前的是直接将所有的可

hdu 5407 CRB and Candies(组合数+最小公倍数+素数表+逆元)暨2015暑期多校赛第10场

题意: 输入n,求c(n,0)到c(n,n)的所有组合数的最小公倍数. 输入: 首行输入整数t,表示共有t组测试样例. 每组测试样例包含一个正整数n(1<=n<=1e6). 输出: 输出结果(mod 1e9+7). 感觉蛮变态的,从比赛开始我就是写的这道题,比赛结束还是没写出来…… 期间找到了逆元,最小公倍数,组合数的各种公式,但是爆了一下午tle. 比赛结束,题解告诉我,公式秒杀法…… 但是公式看不懂,幸好有群巨解说,所以有些听懂了,但还是需要继续思考才能弄懂. 题解: 设ans[i]表示i

[2016北京集训测试赛17]crash的游戏-[组合数+斯特林数+拉格朗日插值]

Description Solution 核心思想是把组合数当成一个奇怪的多项式,然后拉格朗日插值..:哦对了,还要用到第二类斯特林数(就是把若干个球放到若干个盒子)的一个公式: $x^{n}=\sum _{i=0}^{n}C(n,i)*i!*S(i,x)$ 围观大佬博客(qaq公式太难打了) Code #include<iostream> #include<cstdio> #include<cstring> #include<cmath> using na