1. 程式人生 > >UVA 10491 Cows and Cars 數學 概率

UVA 10491 Cows and Cars 數學 概率

view pan algo all uva 我不知道 -1 play aps

  題目鏈接: https://vjudge.net/problem/UVA-10491

  題目描述: 有a頭牛, b輛車, 在你的一次選擇後主持人會為你打開C扇有牛的門並問你換門還是不換門, 輸出總是換門情況下可以獲得車的概率

  解題思路: 我現在還沒有寫代碼......我不知道我的思路對不對, 但是先說一下, 我們可以分情況來討論, 然後分情況乘上獲得換門情況下獲得車的概率, 也就是全概率公式, 情況分成兩種, 一開始指著車, 和一開始指著牛 , res = a/(a+b) * b/(a+b-c-1) + b/(a+b) * (b-1)/(a+b-c-1), 輸出即可, 這是我的思路

  代碼:

技術分享
#include <iostream>
#include <cstdio>
#include <string>
#include <vector>
#include <cstring>
#include <iterator>
#include <cmath>
#include <algorithm>
#include <stack>
#include <deque>
#include <map>
#define lson l, m, rt<<1
#define
rson m+1, r, rt<<1|1 #define mem0(a) memset(a,0,sizeof(a)) #define meminf(a) memset(a,-0x3f,sizeof(a)) #define fi(n) for(i=0;i<n;i++) #define fj(m) for(j=0;j<m;j++) #define sca(x) scanf("%d",&x) #define ssca(x) scanf("%s",x) #define scalld(x) scanf("%I64d",&x) #define print(x) printf("%d\n", x) #define
printlld(x) printf("%I64d\n",x) #define de printf("=======\n") #define yes printf("YES\n") #define no printf("NO\n") typedef long long ll; using namespace std; int main() { int a, b, c; while( scanf( "%d%d%d", &a, &b, &c ) == 3 ) { //a/(a+b) * b/(a+b-c+1) + b/(a+b) * (b-1)/(a+b-c+1) double sum = double(a+b); double mother = double(sum-c-1); double res = double(a)/sum * (double)b/mother + double(b)/sum * double(b-1)/mother; printf( "%.5lf\n", res ); } return 0; }
View Code

  思考: 思路對了, 這種簽到題再不對可就廢了........好好學數學啊........

UVA 10491 Cows and Cars 數學 概率