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