B. Dreamoon and WiFi:题目链接
题意:给你一个正常的走向,在给你一个虚假和不确定的走向,问到达的可能性
#include <bits/stdc++.h>
using namespace std;
string str1, str2;
double C(double A, double B)
{double res = 1.0;for (int i = A - B + 1; i <= A; i++){res *= 1.0 * i;}for (int i = 1; i <= B; i++){res /= 1.0 * i;}for (int i=1;i<=A;i++){res/=1.0*2;}return res;
}
int main()
{cin >> str1 >> str2;int cou1 = 0, cou2 = 0;int n = str1.length();for (int i = 0; i < n; i++){if (str1[i] == '+'){cou1++;}elsecou1--;}int cou = 0;for (int i = 0; i < n; i++){if (str2[i] == '+'){cou2++;}else if (str2[i] == '-'){cou2--;}elsecou++;}int cha = abs(cou1 - cou2);if (cou >= abs(cou1 - cou2)){if ((cou - cha) % 2 == 0){double res = C(1.0 * cou, 1.0 * ((cou-cha)/2));printf("%.9lf\n",res);}}elsecout << 0 << endl;
}