Submission
Status:
--------------------
Subtask/Task Score:
0/100
Score: 0
User: pxsit
Problemset: Othello
Language: cpp
Time: 0.003 second
Submitted On: 2026-10-06 17:57:21
#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] = cur;
if(c > 1 && grid[r][c-2] == cur) grid[r][c-1] = cur;
if(r < 6 && grid[r+2][c] == cur) grid[r+1][c] = cur;
if(c < 6 && grid[r][c+2] == cur) grid[r][c+1] = cur;
if(r > 1 && c > 1 && grid[r-2][c-2] == cur) grid[r-1][c-1] = cur;
if(r > 1 && c < 6 && grid[r-2][c+2] == cur) grid[r-1][c+1] = cur;
if(r < 6 && c < 6 && grid[r+2][c+2] == cur) grid[r+1][c+1] = cur;
if(r < 6 && c > 1 && grid[r+2][c-2] == cur) 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];
}
}
if(black+white == 64) break;
if(black) black = false;
else black = 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";
}