首页 > 代码库 > 博弈论

博弈论

1. Vijos 萌萌的糖果博弈 && 吃糖果游戏

每次可以任意拿走其中一堆糖果;如果这时候另一堆糖果数目多于1粒,就把它任意分成两堆,否则就把剩下的一粒糖果取走并获得这次博弈的胜利。

技术分享萌萌的糖果博弈
 1 #include<iostream>
 2 #include<cstdio>
 3 #include<string>
 4 using namespace std;
 5 int main()
 6 {
 7     string a,b;
 8     while(cin>>a)
 9     {
10         if(a[0]==-)break;
11         cin>>b;
12         int a1= a[a.length()-1]-0;
13         int b1= b[b.length()-1]-0;
14         if((a1%5==2||a1%5==3)&&(b1%5==2||b1%5==3))
15             printf("SheepDaddy\n");
16         else
17             printf("MengMeng\n");
18     }
19     return 0;
20 }

技术分享
 1 #include<iostream>
 2 #include<cstdio>
 3 #include<string>
 4 using namespace std;
 5 int main()
 6 {
 7     string a,b;
 8     while(cin>>a>>b)
 9     {
10         int a1= a[a.length()-1]-0;
11         int b1= b[b.length()-1]-0;
12         if((a1%5==2||a1%5==3)&&(b1%5==2||b1%5==3))
13             printf("Shadow\n");
14         else
15             printf("Matrix67\n");
16     }
17     return 0;
18 }
吃糖果游戏

 

博弈论