<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      abc349E Weighted Tic-Tac-Toe 博弈論+搜索

      最開始學博弈論的時候學到過博弈論里的一個基本定理

      1.當前局面先手必勝當且僅當后續局面存在先手必敗

      2.當前局面先手必敗當且僅當后續局面全是先手必勝

      當時就想著用搜索做,但是局面太多了搜不過來,所以后面又學了SG函數啥的。

      但是這個題很明顯可以搜索。

      #include<bits/stdc++.h>
      #define int long long
      #define ULL unsigned long long
      #define DB double
      using namespace std;
      int n,l,r,cnt;
      int a[5][5],se[5][5];
      int ying(int s) // 看看是不是s連成三個
      {
      	if(se[1][1]==s&&se[2][2]==s&&se[3][3]==s)return 1;
      	if(se[3][1]==s&&se[2][2]==s&&se[1][3]==s)return 1;
      	
      	if(se[1][1]==s&&se[1][2]==s&&se[1][3]==s)return 1;
      	if(se[2][1]==s&&se[2][2]==s&&se[2][3]==s)return 1;
      	if(se[3][1]==s&&se[3][2]==s&&se[3][3]==s)return 1;
      	
      	if(se[1][1]==s&&se[2][1]==s&&se[3][1]==s)return 1;
      	if(se[1][2]==s&&se[2][2]==s&&se[3][2]==s)return 1;
      	if(se[1][3]==s&&se[2][3]==s&&se[3][3]==s)return 1;
      	return 0;
      }
      int check() // 看看是否沒有連成三個
      {
      	if(ying(1))return 1;
      	if(ying(2))return 2;
      	return 0;
      }
      int sum(int x) // 沒有連成三個就算一下得分的和
      {
      	int res=0;
      	for(int i=1;i<=3;++i)
      		for(int j=1;j<=3;++j)
      			if(se[i][j]==x)res+=a[i][j];
      	return res;
      }
      int dfs(int bu,int ren) // 現在是第幾步,哪個人先手
      {
      	if(check()!=0)
      	{
      		return check()==ren;
      	}
      	if(bu==10)
      	{
      		if(sum(2)>sum(1))return 1;
      		else return 0;
      	}
      	for(int i=1;i<=3;++i)
      		for(int j=1;j<=3;++j)
      			if(se[i][j]==0)
      			{
      				se[i][j]=ren;
      				if(dfs(bu+1,3-ren)==0)
      				{
      					se[i][j]=0;
      					return 1;
      				}
      				se[i][j]=0;
      			}
      	return 0;
      }
      signed main()
      {
      	for(int i=1;i<=3;++i)
      		for(int j=1;j<=3;++j)cin>>a[i][j];
      	if(dfs(1,1))printf("Takahashi");
      	else printf("Aoki");
      	return 0;
      } 
      /*
      -1 1 0
      -4 2000 -5
      -4 -1 -5
      
      
      
      */
      
      posted @ 2024-04-17 11:25  wljss  閱讀(39)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 无码国产一区二区三区四区| 色综合伊人色综合网站| 国产高清无遮挡内容丰富| 色综合久久久久综合体桃花网| 少妇真人直播免费视频| 九九热在线视频免费观看| 亚洲综合91社区精品福利| 久久久精品2019中文字幕之3| 粉嫩国产av一区二区三区| 中文字幕日韩精品亚洲一区 | 久久久国产精品樱花网站| 一本久道中文无码字幕av| 色综合视频一区二区三区| 久久精品国产蜜臀av| 日日碰狠狠添天天爽| 狠狠噜天天噜日日噜无码| 久久精品国产亚洲AV麻豆长发 | 亚洲国产欧美在线看片一国产| 精品人妻午夜福利一区二区| 国内精品无码一区二区三区 | 久久精品夜色国产亚洲av| 国产揄拍国产精品| 久久精品国产中文字幕| 天天综合色天天综合色h| 2020国产欧洲精品网站| 怀仁县| 精品91在线| 被黑人伦流澡到高潮HNP动漫| 亚洲色拍拍噜噜噜最新网站| 色欲久久综合亚洲精品蜜桃| 中文字幕av国产精品| 成人免费无码视频在线网站 | 欧美视频在线播放观看免费福利资源 | 亚洲国产区男人本色| 国产成人一区二区三区免费| 精品久久久久国产免费| 亚洲av色综合久久综合| 少妇被黑人到高潮喷出白浆| 精品乱码一区二区三四五区 | 亚洲www永久成人网站| 一本大道av人久久综合|