CF1747C Swap Game

观察

根据手玩样例可以发现睡先造出来0对方谁就失败. 同样也可以想到在一棵树上进行操作, 从节点出发, 转移看的是当前是谁在执掌. 自底向上的判定, 同样可以证明出来只有\(a[0]\leq\min\{a[1]..a[n]\}\)的情况是Bob, 否则就是Alice.

image

Code

int a[MAXN];
void solve(){
    int n; cin>>n;
    F(i, 1, n) cin>>a[i];
    if(*min_element(a+2, a+n+1)>=a[1]) cout<<"Bob\n";
    else cout<<"Alice\n";
}
posted @ 2022-11-06 11:27  Micoael_Primo  阅读(67)  评论(0)    收藏  举报