Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
48240 | MattL | 【AB-1】游戏 | C++ | 运行超时 | 60 | 1000 MS | 252 KB | 2287 | 2022-04-11 11:10:40 |
#include <bits/stdc++.h> using namespace std; int a[110],n,minn,maxx,id; bool who=true,you1,other;//true Alice false Bob int dfs(int k,bool shei) { if(k==1) for(int i=1;i<=n;i++) if(a[i]>=0) return a[i]; if(shei) { int Max=INT_MIN,lst=-1,lsti,tt; for(int i=1;i<=n;i++) if(a[i]!=-1) { if(lst!=-1) if(a[i]>lst) tt=a[i],a[i]=-1,Max=max(Max,dfs(k-1,shei^1)),a[i]=tt; else tt=a[lsti],a[lsti]=-1,Max=max(Max,dfs(k-1,shei^1)),a[lsti]=tt; lst=a[i],lsti=i; } return Max; } else { int Min=INT_MAX,lst=-1,lsti,tt; for(int i=1;i<=n;i++) if(a[i]!=-1) { if(lst!=-1) if(a[i]<lst) tt=a[i],a[i]=-1,Min=min(Min,dfs(k-1,shei^1)),a[i]=tt; else tt=a[lsti],a[lsti]=-1,Min=min(Min,dfs(k-1,shei^1)),a[lsti]=tt; lst=a[i],lsti=i; } return Min; } } int main() { // freopen("game.in","r",stdin); // freopen("game.out","w",stdout); scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d",a+i),other|=(a[i]>1),you1|=(a[i]==1); if(!other) { if(!you1) { cout<<0<<endl; return 0; } } cout<<dfs(n,true); return 0; // while(n!=1) // { // if(who) // { // minn=INT_MAX; // for(int i=2;i<=n;i++) // if(max(a[i],a[i-1])<minn) // minn=max(a[i],a[i-1]),id=i; // if(a[id-1]>a[id])id--; // for(int i=id;i<=n;i++) // a[i]=a[i+1]; // } // else // { // maxx=INT_MIN; // for(int i=2;i<=n;i++) // if(min(a[i],a[i-1])>maxx) // maxx=min(a[i],a[i-1]),id=i; // if(a[id-1]<a[id])id--; // for(int i=id;i<=n-1;i++) // a[i]=a[i+1]; // } // who^=1,n--; // } // cout<<a[1]<<endl; return 0; }