144.⑨要写信(错排公式与高精度练习)
生活随笔
收集整理的這篇文章主要介紹了
144.⑨要写信(错排公式与高精度练习)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1697 ⑨要寫信
?
時間限制: 1 s 空間限制: 128000 KB 題目等級 : 黃金 Gold 題解 查看運行結果 題目描述?Description琪露諾(冰之妖精)有操控冷氣的能力。能瞬間凍結小東西,比普通的妖精更危險。一直在釋放冷氣的她周圍總是非常寒冷。
由于以下三點原因……
- 琪露諾的符卡 冰符“Icicle Fall”-Easy的彈幕有夠蠢的,只要站在她的正前方就沒任何彈幕會碰到你;
- ZUN在《紅魔鄉》中介紹她時已經說她有點笨笨的了;
- 在ZUN放出《東方花映冢》的介紹圖時,在圖中把琪露諾放在了⑨的位置上,并以“⑨笨蛋”簡單帶過,從此“⑨”及“笨蛋”就成為她的別名了……
所以琪露諾便得到了“笨蛋”的別稱。
某日,琪露諾又2了……
她寫了N封信要裝到N個信封里面,卻全都裝錯了……現在想知道有多少種裝錯的可能性。
輸入描述?Input Description信和信封的數量N。
輸出描述?Output Description裝錯的可能性的數量。
樣例輸入?Sample Input| 輸入樣例1 ? 2 ? |
| 輸入樣例2 ? 4 ? |
| 輸出樣例1 ? 1 ? |
| 輸出樣例2 ? 9 ? |
1≤N≤100
分類標簽?Tags?點此展開?
動態規劃?序列型DP 代碼: #include< iostream > using namespace std; #include< cstdio > #include< cstring > int a[50001],b[50001],c[50001]; int n,lena=0,lenb,lenc; void XX(int t) { int x=0; lena=1; while(lena<=lenb||lena<=lenc) { a[lena]=b[lena]+c[lena]+x; x=a[lena]/10; a[lena]%=10; lena++; } a[lena]=x; if(a[lena]==0) lena--; x=0; for(int i=1;i<=lena;++i) { a[i]*=t; a[i]+=x; x=a[i]/10; a[i]%=10; } if(x!=0) { lena++; a[lena]=x; } } int main() { scanf("%d",&n); c[1]=0;lenc=1; b[1]=1;lenb=1; for(int i=3;i<=n;++i) { XX(i-1); for(int i=1;i<=lenb;++i) c[i]=b[i]; lenc=lenb; for(int i=1;i<=lena;++i) b[i]=a[i]; lenb=lena; } if(n==1||n==0) { printf("0\n"); return 0; } for(int i=lenb;i>=1;--i) printf("%d",b[i]); return 0; }? //sum[i]=(i-1)*(sum[i-1]+sum[i-2]);轉載于:https://www.cnblogs.com/c1299401227/p/5370670.html
總結
以上是生活随笔為你收集整理的144.⑨要写信(错排公式与高精度练习)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【VBA研究】怎样将单元格数据赋给数组
- 下一篇: excel如何快速实现数据区域的框选