专栏文章

题解:P12063 [THUPC 2025 决赛] 我的围棋

P12063题解参与者 4已保存评论 3

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
3 条
当前快照
1 份
快照标识符
@mipoyo77
此快照首次捕获于
2025/12/03 15:34
3 个月前
此快照最后确认于
2025/12/03 15:34
3 个月前
查看原文
用两个变量记录过程中提子的总数即可。
注意千万不要在其中一方的棋盖中的棋子数 >M>M 时就立刻输出答案,一定趁着对手接水的时候向裁判举报。
我围棋下得太烂了,大家可能还是不会这道题。如果有问题就问围棋世界冠军 ByunSangil 吧。
CPP
#include<bits/stdc++.h>
#define ll long long
#define int ll
#define rep(x,y,z) for(int x=(y);x<=(z);x++)
#define per(x,y,z) for(int x=(y);x>=(z);x--)
#define repn(x) rep(x,1,n)
#define repm(x) rep(x,1,m)
inline int read(){int s=0,w=1;char c=getchar();while(c<48||c>57) {if(c=='-') w=-1;c=getchar();}while(c>=48&&c<=57)s=(s<<1)+(s<<3)+c-48,c=getchar();return s*w;}
inline void pf(int x){if(x<0) putchar('-'),x=-x;if(x>9)pf(x/10);putchar(x%10+48);}
using namespace std;
const int N=5e5+5,M=1e7+5,inf=(1LL<<31)-1,mod=998244353;
const ll llf=1e18;
int n,m,a[N],A,B;
inline void Main(){
	n=read(),m=read();
	int fl=-1;
	repn(i){
		a[i]=read();
		if(i&1)A+=a[i];
		else B+=a[i];
		if(A>m){
			if(fl==-1)fl=0;
		}
		if(B>m){
			if(fl==-1)fl=1;
		}
	}
	if(fl==1)cout <<"Black";
	else if(fl==0)cout <<"White";
	else puts("Draw");
}
signed main(){
	int T=1;
	while(T--)Main();
	return 0;
}

评论

3 条评论,欢迎与作者交流。

正在加载评论...