日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

vijos1655萌萌的糖果博弈

發布時間:2024/8/1 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vijos1655萌萌的糖果博弈 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

//這個題是我今天做一道題,發現自己不會博弈論,所以去hzwer上找博弈論題,第一題是這個,發現這個題我看題面都看不懂。。。

題目已經寫出來了,這是一道博弈論題
根據wzy 大佬的說法,博弈論題先找規律
然后給出我找規律的過程
先引用hzwer博客上的一句話

必勝策略是“所謂有必勝策略是指,無論對方如何操作,自己總有辦法取勝。”就是說:我一操作保證剩下的一堆無論你怎么分你都贏不了!那我必勝.否則我不必勝

假設取了之后剩了一堆數量為x (如果分解后的兩堆中有1,那么另一方必勝,所以為了簡潔,省略掉存在1的分解情況) 如果x=1,MM必勝,即如果未取堆為1的一方必勝 如果x=2,只能被分成兩堆(1,1),SD必勝,即如果未取堆為2的一方能輸 如果x=3,只能被分成兩堆(1,2),SD可以勝,即如果未取堆為3的一方能輸 如果x=4,可以分成(2,2),在分解為(2,2)情況下,兩個能輸的堆,必然會有一個輸掉的剩余堆,所以MM必勝(這一點此后的證明(zhao gui lv)中不再贅述),即如果未取堆為4的一方能贏 如果x=5,可以分成(2,3),兩個能輸的堆,MM必勝,即如果未取堆為5的一方能贏 如果x=6,可以分成(3,3),兩個能輸的堆,MM必勝,即如果未取堆為6的一方能贏 如果x=7,可以分成(2,5)(3,4),不存在兩個能輸的堆的情況,所以SD能勝,即如果未取堆為7的一方能輸 如果x=8,可以分成(2,6)(3,5)(4,4),不存在兩個能輸的堆的情況,所以SD能勝,即如果未取堆為8的一方能輸 如果x=9,可以分成(2,7),兩個能輸的堆,MM必勝,即如果未取堆為9的一方能贏 如果x=10,可以劃分為(2,8)(3,7)(4,6)(5,5),(3,7)為兩個能輸的堆,即如果未取堆為10的一方能贏 如果x>=11,可以有2,3,4,5,6,7,8,9,無需討論引用自hzwer博客: > 想想看:如果有一堆糖果個數>=10.那它就能分出任意的0 1 2 3 4 5 6 7 8 9 個的堆…沒有探討的意義….知推0~9的規律..呵呵..0沒有用的…

就是這樣,然后是我的代碼

#include <iostream> #include <cstdio> using namespace std; int main() {string a,b;char c,d;while(1){cin>>a;if(a=="-1")break;cin>>b;c=a[a.length()-1];d=b[b.length()-1];if((c=='2'||c=='3'||c=='7'||c=='8')&&(d=='2'||d=='3'||d=='7'||d=='8'))cout<<"SheepDaddy\n";elsecout<<"MengMeng\n";}return 0; }

總結

以上是生活随笔為你收集整理的vijos1655萌萌的糖果博弈的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。