题解:P12063 [THUPC 2025 决赛] 我的围棋
The_Seas_Tears · · 题解
闲话
这怎么这么像第29届LG杯
言归正传,先放思路
思路
围棋的规则是黑棋先走,也就是单数步的时候是黑棋下,双数步的时候是白棋下。再定义两个变量,作为双方提子的数量,注意,如果棋盖已经被塞爆了,一定要结束循环!!!
code:
#include<bits/stdc++.h>
using namespace std;
int n,m;
int a[100010];
long long bsum=0,wsum=0;//定义双方提子数量的变量,bsum代表黑棋的提子数,wsum代表白棋的提子数,注意不开long long会爆!
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>a[i];
if(i%2==1){//如果黑棋下
bsum+=a[i];
}else{//白棋下
wsum+=a[i];
}
if(bsum>m){//黑棋棋盖塞爆了,那么白棋赢
cout<<"White";
return 0;//结束程序
}if(wsum>m){//白棋棋盖塞爆了,那么黑棋赢
cout<<"Black";
return 0;//结束程序
}
}
cout<<"Draw";//两边都没赢,所以平局
return 0;//好习惯
}