HDU 2049 不容易系列之(4)——考新郎( 錯排 )


鏈接:傳送門
思路:錯排水題,從N個人中選出M個人進行錯排,即 C(n,m)*d[m]
補充:組合數C(n,m)能用double計算嗎?第二部分有解釋


Part 1.

  1. 分別求出來組合數的分子和分母然后相除

/*************************************************************************> File Name: hdu2049.cpp> Author:    WArobot > Blog:      http://www.cnblogs.com/WArobot/ > Created Time: 2017年04月27日 星期四 22時50分49秒************************************************************************/#include<bits/stdc++.h>
using namespace std;#define ull unsigned long longint c,n,m;
ull  d[23];void init(){d[1] = 0;   d[2] = 1;for(int i=3;i<23;i++)   d[i] = (i-1)*(d[i-1] + d[i-2]);
}
int main(){init();scanf("%d",&c);while(c--){scanf("%d%d",&n,&m);ull ck1 = 1 , ck2 = 1;for(int i=1;i<=m;i++)   ck1 *= (n-m+i) , ck2 *= i;printf("%lld\n",(ck1/ck2)*d[m]);}return 0;
}

Part 2.

  1. double也是可以計算C(n,m),但是需要注意在最后強制類型轉換的時候需要手動 +0.5 來手動進行四舍五入
  2. 可以直接輸出%.25lf 來查看ck1的值
    例如20 11的時候 ck1 = 167959.9999999999708961695432663
    但是C(20,11) = 167960 所以有些值需要手動進位

/*************************************************************************> File Name: hdu2049.cpp> Author:    WArobot > Blog:      http://www.cnblogs.com/WArobot/ > Created Time: 2017年04月27日 星期四 22時50分77秒************************************************************************/
#include<bits/stdc++.h>
using namespace std;#define ll long longint c,n,m;
ll  d[21];void init(){d[1] = 0;   d[2] = 1;for(int i=3;i<=20;i++)   d[i] = (i-1)*(d[i-1] + d[i-2]);
}
int main(){init();scanf("%d",&c);while(c--){scanf("%d%d",&n,&m);double ck1 = 1;for(int i=1;i<=m;i++)   ck1 *= (n-m+i)*1.0/i;ck1 += 0.5;ll ans = (ll)ck1;printf("%lldn",ans*d[m]);}return 0;
}

<font color = bule ,size = "4">好吧,我還因為過于無聊設置了小彩蛋,你找到這個隨筆那個地方寫錯了嗎?
timg?image&quality=80&size=b9999_10000&sec=1493376916723&di=2645b31daab4b7ca1376034021fab0f1&imgtype=0&src=http%3A%2F%2Fimg.qqzhi.com%2Fupload%2Fimg_1_1165807591D2045005422_23.jpg

轉載于:https://www.cnblogs.com/WArobot/p/6777822.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/259041.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/259041.shtml
英文地址,請注明出處:http://en.pswp.cn/news/259041.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

級聯sql

select ID, PID, NAME,KEY from HS_DICT start with KEY HS_EXP_WORK_LOCATIONconnect by prior ID PID order by DISPLAYORDER轉載于:https://www.cnblogs.com/dazhaxie/p/3483532.html

獲取母版中的控件

1 通過findcontrol找控件ID需要在此事件中~因為Page_load中時是先內容頁加載然后才是母版頁加載 protected void Page_LoadComplete(object sender, EventArgs e) { Label2.Text "現在時間是" (Master.FindControl("Label1") as Label).Text; if (Reques…

linux服務器選ubantu或centos_如何通過SSH連接阿里云上的Linux系統

首先SSH是啥&#xff0c;維基一下&#xff1a;Secure Shell&#xff08;安全外殼協議&#xff0c;簡稱SSH&#xff09;是一種加密的網絡傳輸協議&#xff0c;可在不安全的網絡中為網絡服務提供安全的傳輸環境[1]。SSH通過在網絡中創建安全隧道來實現SSH客戶端與服務器之間的連接…

face alignment by 3000 fps系列學習總結

我們主要講一講Github上給出的matlab開源代碼《jwyang/face-alignment》的配置。 首先聲明&#xff1a;本人第一次配置的時候也是參考了csdn一個作者和github給出的說明配置成功的。其實后來想想很簡單的&#xff0c;但是可能對于初學者&#xff0c;還是有一定的困難。為此&am…

paypal之nodejs 框架 Kraken-js 源碼分析

本文是基于 kraken-js 0.6.1 版本的 關于如何使用kraken-js 可以去看看官網的使用文檔 點擊這里 。kraken-js 是基于express之上的&#xff0c;目的在于讓工程師更多的去關注代碼邏輯&#xff0c;少關注自身的開發環境&#xff0c;所以他將express所有的一些公用的配置都寫在了…

go build 參數_Go語言 通過go bulid -tags 實現編譯控制

Go語言提供的build tag 條件編譯特性&#xff0c;顧名思義&#xff0c;只有在特定條件下才會構建對應的代碼。比如下面的源文件只有在設置debug構建標志時才會被構建&#xff1a;// build debugpackage mainvar buildMode "debug"可以用以下命令構建&#xff1a;go …

selinux 的管理

第十單元selinux 的管理一 顯示及更改 SELINUX 模式getenforce ###顯示selinux模式setenforce 0|1 ##0指permissive警告&#xff0c;1 表示 enforcing強制###vim /etc/sysconfig/selinux ###修改selinux開機狀態###注&#xff1a;disable表示關閉&…

ubuntu15.10下安裝opencv2.4.9python上調用opencv庫

對于centos&#xff0c;可以參考&#xff1a;Install OpenCV-Python in Fedora 如果IPP難以下載可以在cmake時禁掉它&#xff0c;只需&#xff1a;cmake -DWITH_IPPOFF OpenCV3.3CUDA9.0 安裝過程中遇到的問題&#xff0c;解析&#xff1a; https://blog.csdn.net/u014613745/a…

【轉】jquery 注冊事件的方法

原文鏈接&#xff1a;http://outofmemory.cn/code-snippet/2123/jquery-zhuce-event-method 1.使用事件名來綁定&#xff0c;可用的事件名有 change,click,dblclick,error,focus,focusin,focusout,keydown,keypress,keyup,mousedown,mouseenter,mouseleave,mousemove,mouseout,…

ffmpeg 時間戳

轉http://blog.csdn.net/yfh1985sdq/article/details/5721953 AVpacket里的時間戳pts和dts.單位好像是us. 問 : 時間戳pts和dts,這里兩個時間戳各有什么意義? 答 : 顯示時間,解碼時間. DTS&#xff1a;decoding time stamp PTS&#xff1a;presentation time stamp Generally …

鍵盤改鍵軟件_一秒五鍵,一鍵三招,萬種光污染,杜伽K310櫻桃軸機械鍵盤感受...

機械鍵盤我一直用的青軸&#xff0c;或者各種其他名字但其實本質就是青軸的。喜歡青軸那種清脆的聲音&#xff0c;在我聽來如同山間小溪流水般的叮咚。不過這聲音在夜間分外的具有穿透力&#xff0c;更會在人身體不好的時候難以承受&#xff0c;所以每每用過之后卻又不得不換回…

ubuntu 15.10下cmake 的安裝

因為原先ubuntu自帶的cmake有點舊&#xff0c;就想著安裝個最新的&#xff0c;可是直接安裝卡在了某一步上&#xff0c;后面有說明。現將正確的安裝方法列出來。1.卸載原有的版本sudo apt-get autoremove cmake2. 下載最新的cmake :https://cmake.org/download/3. 解壓&#xf…

codeigniter鉤子的使用

CodeIgniter 的鉤子功能&#xff0c;使得我們可以在不修改系統核心文件的基礎上&#xff0c;來改變或增加系統的核心運行功能。可是鉤子究竟該怎么用呢&#xff1f;雖然不是很難&#xff0c;不過很多剛用ci的朋友可能還是不明白怎么用。 通過本文的簡單實例&#xff0c;大家一下…

wxWidgets之wxGrid控件

1. 介紹wxGrid控件時wxWidgets界面庫中內置的網格控件。通經常使用來顯示表格數據。該控件擁有強大的功能。開發人員可依據自己的需求對其進行定制。 2. 經常使用API 構造函數&#xff1a;wxGrid ()wxGrid (wxWindow *parent, wxWindowID id, const wxPoint &poswxDef…

powerdesigner畫關系圖_想畫好手繪,這些圖你一定要畫一下!

畫好手繪除了對透視要深入了解掌握以及線條運用把握之外&#xff0c;還有很重要的就是要對空間物體的關系、比例、光影關系都要理解透徹。大體快可分割成多個x小體塊。其實當年學習的繪畫基礎也是畫好手繪的基礎&#xff0c;畫手繪依然需要去理解整體畫面的空間黑白灰、物體穿插…

C#,pdf文件轉換成圖片文件。

本文采用Adobe Acrobat9.0的COM組件&#xff0c;將Pdf文件的每一頁轉換成對應的圖片文件。 開發環境&#xff1a;VS2010&#xff0c;.Net Framework4.0&#xff0c;Adobe Acrobat9.0。 工程中添加COM引用&#xff1a;Adobe Acrobat 9.0 Type Library&#xff08;必須裝了Adobe …

Android進程間通信

一.Linux系統進程間通信有哪些方式&#xff1f; 1.socket&#xff1b; 2.name pipe命名管道&#xff1b; 3.message queue消息隊列&#xff1b; 4.singal信號量&#xff1b; 5.share memory共享內存&#xff1b; 二.Java系統的通信方式是什么&#xff1f; 1.socket; 2.name pip…

最新的一些開源face alignment及評價

dlib &#xff1a;https://github.com/davisking/dlib/tree/v18.18 評價&#xff1a;速度快&#xff0c;可商用&#xff0c;有些時候不太準確 2. CLM-framework: https://github.com/TadasBaltrusaitis/CLM-framework 評價:很準確&#xff0c;不可商用 3. Face Detection…

1048 石子歸并

1048 石子歸并 時間限制: 1 s 空間限制: 128000 KB 題目等級 : 黃金 Gold 題目描述 Description有n堆石子排成一列&#xff0c;每堆石子有一個重量w[i], 每次合并可以合并相鄰的兩堆石子&#xff0c;一次合并的代價為兩堆石子的重量和w[i]w[i1]。問安排怎樣的合并順序&#xf…

internetreadfile讀取數據長度為0_【完結】TensorFlow2.0 快速上手手冊

大家好&#xff0c;這是專欄《TensorFlow2.0》的第五篇文章&#xff0c;我們對專欄《TensorFlow2.0》進行一個總結。我們知道全新的TensorFlow2.0 Alpha已經于2019年3月被發布&#xff0c;新版本對TensorFLow的使用方式進行了重大改進&#xff0c;為了滿足各位AI人對TensorFlow…