Submission
Status:
PPPPPP-PPPPP-P----PP
Subtask/Task Score:
70/100
Score: 70
User: peilin
Problemset: Othello
Language: cpp
Time: 0.005 second
Submitted On: 2026-09-30 11:04:05
#include <iostream>
#include <vector>
using namespace std;
int main() {
std::ios_base::sync_with_stdio(false);
std::cin.tie(nullptr);
vector<string> a(8);
for (int i=0; i<8; i++) {
cin >> a[i];
}
int x,y;
int t = 0;
int dx[] = {-1,-1,-1,0,0,1,1,1};
int dy[] = {-1,0,1,-1,1,-1,0,1};
while (cin >> x >> y) {
if(x==-1 && y==-1) {
break;
}
char b,c;
if(t%2==0) {
b='B';
c='W';
}
else {
b='W';
c='B';
}
a[x][y]=b;
for (int d=0; d<8; d++) {
int i=x+dx[d];
int j=y+dy[d];
while (i>=0 && i<8 &&
j>=0 && j<8 &&
a[i][j]==c) {
i+=dx[d];
j+=dy[d];
}
if(i>=0 && i<8 &&
j>=0 && j<8 &&
a[i][j]==b) {
i-=dx[d];
j-=dy[d];
while(i!=x || j!=y) {
a[i][j]=b;
i-=dx[d];
j-=dy[d];
}
}
}
t++;
}
int B=0, W=0;
for(int i=0; i<8; i++) {
cout << a[i] << "\n";
for(int j=0; j<8; j++) {
if(a[i][j]=='B')
B++;
else if(a[i][j]=='W')
W++;
}
}
if(B>W)
cout << "black wins";
else if(W>B)
cout << "white wins";
else
cout << "draw";
return 0;
}