Submission
Status:
PPP-PP-P-P---P----PP
Subtask/Task Score:
50/100
Score: 50
User: pxsit
Problemset: Othello
Language: cpp
Time: 0.002 second
Submitted On: 2026-10-06 18:02:27
#include <bits/stdc++.h>
using namespace std;
int main(){
char grid[8][8];
for(int i=0;i<8;i++){
for(int j=0;j<8;j++){
cin >> grid[i][j];
}
}
bool black_color = true;
while(true){
int r,c;
cin >> r >> c;
if(r == -1 && c == -1) break;
char cur;
if(black_color) cur = 'B';
else cur = 'W';
grid[r][c] = cur;
if(r > 1 && grid[r-2][c] == cur && grid[r-1][c] != '_') grid[r-1][c] = cur;
if(c > 1 && grid[r][c-2] == cur && grid[r][c-1] != '_') grid[r][c-1] = cur;
if(r < 6 && grid[r+2][c] == cur && grid[r+1][c] != '_') grid[r+1][c] = cur;
if(c < 6 && grid[r][c+2] == cur && grid[r][c+1] != '_') grid[r][c+1] = cur;
if(r > 1 && c > 1 && grid[r-2][c-2] == cur && grid[r-1][c-1] != '_') grid[r-1][c-1] = cur;
if(r > 1 && c < 6 && grid[r-2][c+2] == cur && grid[r-1][c+1] != '_') grid[r-1][c+1] = cur;
if(r < 6 && c < 6 && grid[r+2][c+2] == cur && grid[r+1][c+1] != '_') grid[r+1][c+1] = cur;
if(r < 6 && c > 1 && grid[r+2][c-2] == cur && grid[r+1][c-1] != '_') grid[r+1][c-1] = cur;
int black = 0,white = 0;
for(int i=0;i<8;i++){
for(int j=0;j<8;j++){
if(grid[i][j] == 'W') white++;
else if(grid[i][j] == 'B') black++;
//cout << grid[i][j];
}
//cout << '\n';
}
if(black+white == 64) break;
if(black_color) black_color = false;
else black_color = true;
}
int black = 0,white = 0;
for(int i=0;i<8;i++){
for(int j=0;j<8;j++){
cout << grid[i][j];
if(grid[i][j] == 'W') white++;
else if(grid[i][j] == 'B') black++;
}
cout << '\n';
}
if(black == white) cout << "draw";
else if(black > white) cout << "black wins";
else cout << "white wins";
}