P1595 信封问题
2018-03-28 20:19
302 查看
原文链接:P1595 信封问题
原文:
输出格式:一个整数,代表有多少种情况。输入输出样例输入样例#1: 复制
试题分析:典型的全错排,使用固定公式:
D(n) = (n-1) [D(n-2) + D(n-1)]特殊地,D(1) = 0, D(2) = 1.
代码:#include<iostream>
using namespace std;
int f(int n)
{
if(n==1)
return 0;
if(n==2)
return 1;
return (n-1)*(f(n-1)+f(n-2));
}
int main()
{
int n;
cin>>n;
cout<<f(n);
return 0;
}
原文:
题目描述
某人写了n封信和n个信封,如果所有的信都装错了信封。求所有信都装错信封共有多少种不同情况。输入输出格式
输入格式:一个信封数n(n<=20)输出格式:一个整数,代表有多少种情况。输入输出样例输入样例#1: 复制
2输出样例#1: 复制
1输入样例#2: 复制
3输出样例#2: 复制
2
试题分析:典型的全错排,使用固定公式:
D(n) = (n-1) [D(n-2) + D(n-1)]特殊地,D(1) = 0, D(2) = 1.
代码:#include<iostream>
using namespace std;
int f(int n)
{
if(n==1)
return 0;
if(n==2)
return 1;
return (n-1)*(f(n-1)+f(n-2));
}
int main()
{
int n;
cin>>n;
cout<<f(n);
return 0;
}
相关文章推荐