您的位置:首页 > 其它

2016 ACM/ICPC Asia Regional Qingdao Online 1005

2016-09-17 18:17 267 查看
题目大意:给出一个数字n,判断若有一种游戏有n种角色,该游戏是否有可能是平衡的,所谓平衡的就是指对于每种角色,赢和输的概率都为50%

解题思路:若n为2,则只能是A胜B或者B胜A,每一种角色输或赢的概率都为1,因此不符合条件;

若n为3,比如石头剪刀布,每一种角色都可以赢一种角色(如石头赢剪刀),也有可能输给一种角色(石头输给布),因此输赢均为50%,符合条件;

若n为5,



如图,可以将这个问题抽象成一个图的问题,对于一个有向图,它的顶点数为n,若可以满足所有顶点的出度都等于入度,则输赢一定都是50%,反之就肯定不满足条件,n个顶点构成的完全图每个顶点都会连出(n-1)条边,若n为偶数,则每个顶点都会连出(n-1)条边,则一定不可能使入度等于出度,因此必然不满足,而n为奇数时,该顶点数的完全图满足题意,因此最后发现,这道题虽然题目超长,但实际上若n为偶数则不满足,n为奇数则满足,只需判断n的奇偶即可……………………

AC代码:

#include <iostream>
using namespace std;
int main()
{
int t;
int n;
cin>>t;
while(t--)
{
cin>>n;
if(n%2==0)cout<<"Bad"<<endl;
else cout<<"Balanced"<<endl;
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  算法 acm 杭电