首页 > 其他分享 >郑轻---3008: 車的放置

郑轻---3008: 車的放置

时间:2022-12-11 20:55:05浏览次数:65  
标签:int 郑轻 --- 放置 車的 棋盘 3008

3008: 車的放置

时间限制: 1 Sec  内存限制: 128 MB
提交: 834  解决: 135
[状态] [讨论版] [提交] [命题人:542007010310]
原题链接:http://acm.zzuli.edu.cn/problem.php?id=3008
题目描述 给定一个 n* m 的棋盘,要在这个棋盘上放置 k 个相互不攻击的車,也就是这 k 个车中,任意两个車都不会在同一行或同一列的棋盘格中。
问有多少种放置方案。
数据范围:
1 <= n,m <= 10
k <= min(n, m) 输入 第一行输入n,m,k 输出 输出一个整数 样例输入 Copy
4 4 2
样例输出 Copy
72
 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 int n,m,k;
 4 int fun(int n){//求阶乘
 5     if(n==0||n==1) return 1;
 6     int i=1;
 7     for(int j=1;j<=n;j++){
 8         i*=j;
 9     }
10     return i;
11 }
12 int C(int n,int m){//求C
13     return fun(n)/(fun(m)*fun(n-m));
14 }
15 int main(){
16     cin>>n>>m>>k;
17     printf("%d\n",C(n,k)*C(m,k)*fun(k));//这里每一个车是不同的,所以先选好位置以后再进行排序,所以乘上了k!
18     return 0;
19 }
题解:数学中的组合问题

标签:int,郑轻,---,放置,車的,棋盘,3008
From: https://www.cnblogs.com/llihaotian666/p/16974420.html

相关文章