长兴建设局网站性价比高的网站建设
2026/4/18 14:47:12 网站建设 项目流程
长兴建设局网站,性价比高的网站建设,wordpress quick chat,seo文章外包题目描述某中学有 n 名男同学#xff0c;m 名女同学和两名老师要排队参加体检。他们排成一条直线#xff0c;并且任意两名女同学不能相邻#xff0c;两名老师也不能相邻#xff0c;那么一共有多少种排法呢#xff1f;#xff08;注意#xff1a;任意两个人都是不同的m 名女同学和两名老师要排队参加体检。他们排成一条直线并且任意两名女同学不能相邻两名老师也不能相邻那么一共有多少种排法呢注意任意两个人都是不同的输入格式只有一行且为用空格隔开的两个非负整数 n 和 m其含义如上所述。输出格式仅一个非负整数表示不同的排法个数。注意答案可能很大。输入输出样例输入 #1复制1 1输出 #1复制12说明/提示对于 30% 的数据 n≤100m≤100。对于 100% 的数据 n≤2000m≤2000。代码实现#includecstdio #includeiostream #includecmath #includealgorithm #includecstring #includecstdlib #includecctype #includevector #includestack #includequeue #includeassert.h using namespace std; #define enter puts() #define space putchar( ) #define Mem(a, x) memset(a, x, sizeof(a)) #define In inline typedef long long ll; typedef double db; const int INF 0x3f3f3f3f; const db eps 1e-8; const int maxn 1e6 5; In ll rd() { ll res 0; char c getchar(), lst ; while(!isdigit(c)) lst c, c getchar(); while(isdigit(c)) res (res 1) (res 3) c - 0, c getchar(); if(lst -) res -res; return res; } In void wt(ll x) { if(x 0) x -x, putchar(-); if(x 10) wt(x / 10); putchar(x % 10 0); } In void FILE_IO() { #ifndef mrclr freopen(1.in, r, stdin); freopen(ac.out, w, stdout); #endif } int n, m; int num[maxn], l 1; In void mul(int v) { l 10; int d 0; for(int i 0; i l; i) { num[i] num[i] * v d; d num[i] / 10, num[i] % 10; } while(l 1 !num[l - 1]) --l; } int main() { n rd(), m rd(); if(m n 3) {puts(0); return 0;} num[0] 1, l 1; for(int i 1; i n; i) mul(i); for(int i n 3 - m 1; i n 2; i) mul(i); mul(n 1), mul(n * (n 3) 2 * m); for(int i l - 1; i 0; --i) wt(num[i]); enter; return 0; }

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询