UVA 10491 Cows and Cars 數學 概率
阿新 • • 發佈:2017-08-23
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 #defineView Coderson 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) #defineprintlld(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; }
思考: 思路對了, 這種簽到題再不對可就廢了........好好學數學啊........
UVA 10491 Cows and Cars 數學 概率