P1595 信封问题
Posted mary-sue
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了P1595 信封问题相关的知识,希望对你有一定的参考价值。
题目描述
某人写了n封信和n个信封,如果所有的信都装错了信封。求所有信都装错信封共有多少种不同情况。
输入输出格式
输入格式:
一个信封数n(n<=20)
输出格式:
一个整数,代表有多少种情况。
输入输出样例
输入样例#2: 复制
3
输出样例#2: 复制
2
太废了,,,
于是找水题刷。。。
看到这个,,就知道是国庆汇思学颜老师讲的错排问题
https://www.cnblogs.com/Mary-Sue/p/9735348.html
往下拉,,就能看到了,,
其实就是斐波那契的延伸嘛,,
公式:
套上就好了,,
然后,,,、
靠,,,什么鬼bug,,
cin,cout,,,不在库里。。。
还爆long long???不可能吧,,
但就是wa了,,,
没办法就用unsigned long long了,,,
然后就能a了,,,
又想起最后一天hgr老师说牛客那个第一题,,精度问题,,
把long long改成double应该可以多拿分,,
好像是,,,
但改成double后90,,,不知道为什么会wa最后那两个点,,,,
。。。
还是unsigned。。。
dev跟luogu同时bug了???
……无语。。
代码:
#include<iostream>
#include<cstdio>
#include<cmath>
#include<algorithm>
#include<cstring>
using namespace std;
int n;
unsigned long long f[22];
int main()
{
scanf("%d",&n);
if(n==1)
{
printf("0");
return 0;
}
if(n==2)
{
printf("1");
return 0;
}
f[1]=0;
f[2]=1;
for(int i=3;i<=n;++i)
f[i]=(i-1)*(f[i-1]+f[i-2]);
printf("%llu",f[n]);
return 0;
}
如果你不开心,那我就把右边这个帅傻子分享给你吧,
你看,他这么好看,那么深情的望着你,你还伤心吗?
真的!这照片盯上他五秒钟就想笑了。
一切都会过去的。
以上是关于P1595 信封问题的主要内容,如果未能解决你的问题,请参考以下文章