HDU - 4224 Enumeration? 這是一個秦少都沒看懂的題
In mathematics and theoretical computer science, the broadest and most abstract definition of an enumeration of a set is an exact listing of all of its elements (perhaps with repetition).
If we are blocked by a tricky but small issue, a good way is stop bothering and calculating, and just enumerates all the possible result. Here is such a case. iSea is fond of coins recently, now he gets three coins, after throwing all of them again and again, he finds some of those coins are not side equivalent, because the times it faces up and faces down are not equal. Here we assume iSea has thrown the coin enough times that we can treat this as random happened and use the number to count probability.
iSea is a typical Libra, placing in equilibrium at the first position always. He want to distribute the probability to the three coins, and each time he chooses a coin from them with this probability, throws the coin, records facing up or down, and this time after summing up all the times whether the coins face up or down the ideal probable number should be perfectly equal. Again, is this possible? Remember the probability for each coin can’t be zero.
Input
The first line contains a single integer T, indicating the number of test cases.
Each test case includes Six integers Up1, Down1, Up2, Down2, Up3, Down3, indicating the times facing up and down of the first, second and third coin, respectively.
Technical Specification
1. 1 <= T <= 10 000
2. 1 000 000 <= Up, Down <= 2 000 000
Output
For each test case, output the case number first, if possible, output "Yes", otherwise output "No" (without quote).
Sample Input
2 1000000 1000001 1000000 1000002 1000000 1000003 1000000 1000001 1000000 1000002 2000000 1000003
Sample Output
Case 1: No Case 2: Yes
題意:其實就是三枚硬幣,給出每個硬幣正面朝上和反面朝上的概率,然後問,讓你給三枚硬幣一個使用的概率,能不能讓正反面出現的概率一樣
題解:就是如果存在某個硬幣正面的概率大於反面,那就一定要有個反面的概率大於正面的就行了
#include<iostream>
#include<cstdio>
#include<cmath>
#include<algorithm>
using namespace std;
const int N=110000;
typedef long long ll;
int a1,a2,b1,b2,c1,c2;
#define eps 1e-3
int main()
{
int T,nn=1;
int n;
scanf("%d",&T);
while(T--)
{
int flag1=0,flag2=0;
scanf("%d%d%d%d%d%d",&a1,&a2,&b1,&b2,&c1,&c2);
if(a1>a2) flag1++;
if(a1<a2) flag2++;
if(b1>b2) flag1++;
if(b1<b2) flag2++;
if(c1>c2) flag1++;
if(c1<c2) flag2++;
if(flag1==0&&flag2==0 || flag1!=0&&flag2!=0) printf("Case %d: Yes\n",nn++);
else printf("Case %d: No\n",nn++);
}
return 0;
}