题目链接在这里:A-Rake It In_牛客竞赛博弈专题班组合游戏基本概念、对抗搜索、Bash游戏、Nim游戏习题 (nowcoder.com)
这题是一道比较基础的minmax搜索,只需要注意一下剪枝的操作是怎么写的就行了。不过数组开大也能tle是我没想到的……
1 #include "bits/stdc++.h" 2 using namespace std; 3 int n,t,k; 4 struct Node{ 5 int a[5][5]; 6 int reans(int x,int y){ 7 return a[x][y]+a[x][y+1]+a[x+1][y]+a[x+1][y+1]; 8 } 9 void out(){ 10 int i,j; 11 for (i=1;i<=4;i++){ 12 for (j=1;j<=4;j++) 13 cout<<a[i][j]<<' '; 14 cout<<endl; 15 } 16 cout<<endl; 17 } 18 }; 19 //1 2 20 //3 4 21 22 //2 4 23 //1 3 24 inline int mx(int x,int y){return x>y?x:y;} 25 inline int mn(int x,int y){return x<y?x:y;} 26 Node rot(Node zt,int x,int y){ 27 swap(zt.a[x][y],zt.a[x][y+1]); 28 swap(zt.a[x][y+1],zt.a[x+1][y+1]); 29 swap(zt.a[x+1][y+1],zt.a[x+1][y]); 30 return zt; 31 } 32 int dfs(int step,Node now){ 33 // Node zt=now; 34 // zt.out(); 35 int i,j,an=0,an1; 36 // if (step==3) cout<<"????????????"<<endl; 37 if (step>(k<<1)) return 0; 38 if ((step&1)==0) an=1e8; 39 for (i=1;i<=3;i++) 40 for (j=1;j<=3;j++){ 41 an1=now.reans(i,j); 42 // if (step==2) cout<<"!!!!!!! "<<i<<' '<<j<<' '<<an1<<endl; 43 if (step&1){ 44 if (an1+40*(k*2-step)>an) 45 an=mx(an,dfs(step+1,rot(now,i,j))+an1); 46 } 47 else 48 if (an1<an) 49 an=mn(an,dfs(step+1,rot(now,i,j))+an1); 50 } 51 // cout<<step<<' '<<an<<endl; 52 return an; 53 } 54 int main(){ 55 int i,j; 56 Node zt; 57 scanf("%d",&t); 58 while (t--){ 59 scanf("%d",&k); 60 for (i=1;i<=4;i++) 61 for (j=1;j<=4;j++) 62 scanf("%d",&zt.a[i][j]); 63 printf("%d\n",dfs(1,zt)); 64 } 65 return 0; 66 }
未来是什么样,未来会发生什么,谁也不知道。
但是我知道,
起码从今天开始努力,
肯定比从明天开始努力,
要快一天实现梦想。
千里之行,始于足下! ——《那年那兔那些事儿》
分类:
博弈论
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
2017-10-19 2017年10月19日23:31:57
2017-10-19 BZOJ-1064: [Noi2008]假面舞会 (综合性图论题)
2017-10-19 BZOJ-1002: [FJOI2007]轮状病毒(打表找规律or递推 + 高精度)
2017-10-19 BZOJ-1003: [ZJOI2006]物流运输(SPFA+DP)
2017-10-19 splay资料
2017-10-19 BZOJ-2743: [HEOI2012]采花(树状数组 or TLE莫队)
2017-10-19 BZOJ-1122: [POI2008]账本BBB (单调栈神题)