好贷网好贷款

POJ2931-不平等博弈

发布时间:2016-12-5 8:41:17 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"POJ2931-不平等博弈",主要涉及到POJ2931-不平等博弈方面的内容,对于POJ2931-不平等博弈感兴趣的同学可以参考一下。

题目:题目链接   论文题目:方展鹏-《浅谈如何解决不平等博弈问题》   用到了surreal number,看不太懂,路过大神求解释:   #include <iostream> #include <cstdio> #include <string> #include <string.h> #include <map> #include <vector> #include <cstdlib> #include <algorithm> #include <cmath> #include <queue> #include <set> #include <stack> #include <functional> #include <fstream> #include <sstream> #include <iomanip> #include <numeric> #include <cassert> #include <bitset> #include <stack> #include <ctime> #include <list> #define INF 0x7fffffff #define max3(a,b,c) (max(a,b)>c?max(a,b):c) #define min3(a,b,c) (min(a,b)<c?min(a,b):c) #define mem(a,b) memset(a,b,sizeof(a)) using namespace std; int t[55],a[3]; long long SurrealNumber(int T[],int n) { long long x=0,k=1; int i=1; k<<=52; while(i<=n&&T[i]==T[1]) { if(T[i]=='W') x+=k; else x-=k; i++; } k>>=1; while(i<=n) { if(T[i]=='W') x+=k ; else x-=k; i++; k>>=1; } return x; } int main() { int cas,s1; char s[8],tmp[4]; scanf("%d",&cas); while(cas--) { long long c1=0,c2=0; scanf("%s%d",s,&s1); for(int i=0; i<3; i++) scanf("%d",&a[i]); for(int i=0; i<3; i++) { for(int j=1; j<=a[i]; j++) { scanf("%s",tmp); t[j]=tmp[0]; } c1+=SurrealNumber(t,a[i]); } for(int i=0; i<3; i++) scanf("%d",&a[i]); for(int i=0; i<3; i++) { for(int j=1; j<=a[i]; j++) { scanf("%s",tmp); t[j]=tmp[0]; } c2+=SurrealNumber(t,a[i]); } printf("%s %d: %s\n",s,s1,c1>=c2?"Yes":"No"); } return 0; }      

上一篇:我眼中的兄弟连老师——赵桐正
下一篇:互联网公司---关注点

相关文章

相关评论