HDU 4503 湫湫系列故事——植树节
来源:互联网 发布:java json解析 乱码 编辑:程序博客网 时间:2024/04/28 00:18
题目大意:有n个小孩,给出他们每个人认识的人的数目,且已知:a与b认识,那么b就与a认识,求解任选三个人他们之间的关系是相同的概率?
(即要么三个互不相识,要么三个都相互认识)
考虑相反的情况:选出的三个小孩中有两人认识
或者一个人认识其余两人,建图模型后即排除有1边和2边情况
随机选三人sum = C(n,3),不满足的情况种类:
小孩i认识data[i]人,不认识的人数(n-data[i]-1);
那么选出不满足情况(i小孩认识1人认识,不认识1人)的种类数就是:data[i]*(n-data[i]-1);
但是这样被求算重复过一次,所以总数要除以2
这样就可以得到概率(sum-data[i]*(n-1-data[i]))/sum
#include<stdio.h>#include<stdlib.h>#include<string.h>#include<math.h>#include<algorithm>using namespace std;int main(){ int Tcas; scanf("%d",&Tcas); while(Tcas--) { int n; scanf("%d",&n); int data,ans = 0; for(int i=0;i<n;i++) { scanf("%d",&data); ans += data*(n-data-1); } //所有的种类,组合数C(n,3) int sum = n*(n-1)*(n-2)/6; ans = sum - ans / 2; printf("%.3lf\n",(double)ans/sum); } system("pause"); return 0;}
- HDU 4503 湫湫系列故事——植树节
- Hdu 4503 湫湫系列故事——植树节
- HDU 4503 湫湫系列故事——植树节
- hdu 4503 湫湫系列故事——植树节
- hdu 4503 湫湫系列故事——植树节 组合概率
- hdu 4503 湫湫系列故事——植树节
- hdu 4503 湫湫系列故事——植树节
- HDU 4503 湫湫系列故事——植树节
- hdu 4503 湫湫系列故事——植树节
- HDU ACM 4503 湫湫系列故事——植树节
- HDU 4503 湫湫系列故事——植树节(组合概率)
- HDU 湫湫系列故事——植树节
- 湫湫系列故事——植树节
- 湫湫系列故事——植树节
- HDOJ - 4503 湫湫系列故事——植树节
- 2013腾讯编程马拉松初赛第〇场(HDU 4503) 湫湫系列故事——植树节
- HDU4503 湫湫系列故事——植树节
- hdu453 湫湫系列故事——植树节
- hdu 3695 ac自动机
- UVa 442 - Matrix Chain Multiplication
- java编写剪刀石头布游戏
- 到底怎么活啊!
- 应该追求怎样的目标来划分模块
- HDU 4503 湫湫系列故事——植树节
- SQL查询总结
- linux上执行php脚本文件总是无故中断(如何让脚本后台执行不中断)
- C++二维动态数组的创建与删除
- DirectX 3D_基础之顶点缓存 索引缓存 访问缓存 颜色表示 顶点颜色 着色
- Android 读通信录,短信.
- JAVA-tools
- STL容器之vector
- 浅谈KMP(易理解)