#include <bits/stdc++.h>
using namespace std;
#define pp pair <int, int>
#define fi first
#define se second
#define yes cout << "YES\n"
#define no cout << "NO\n"
const int N = 1e6 + 9;
int n, a[N];
vector <int> get_attachment (vector <int> source){
vector <vector <int>> board (8, vector <int> (8, 0));
int i = 0, j = 0, idx = 0;
while (idx < source.size ()){
board[i][j] = source[idx];
j++;
if (j >= 8){
i++; j = 0;
}
idx++;
}
vector <int> result;
for (int i = 0; i < 8; i++){
int cc = 0;
for (int j = 0; j < 8; j++) cc += board[i][j];
result.push_back (cc & 1);
}
for (int j = 0; j < 8; j++){
int cc = 0;
for (int i = 0; i < 8; i++) cc += board[i][j];
result.push_back (cc & 1);
}
return result;
}
vector <int> retrieve (vector <int> data){
vector <int> result;
vector <int> state;
for (int i = 0; i + 16 < data.size (); i++) result.push_back (data[i]);
for (int i = data.size () - 16; i < data.size (); i++) state.push_back (data[i]);
vector <vector <int>> board (8, vector <int> (8, 0));
int i = 0, j = 0, idx = 0;
while (idx < result.size ()){
board[i][j] = result[idx];
j++;
if (j >= 8){
i++; j = 0;
}
idx++;
}
int num_wrong = 0;
int idx1 = 0, idx2 = 0;
for (int i = 0; i < 8; i++){
int cc = 0;
for (int j = 0; j < 8; j++) cc += board[i][j];
if (state[i] != (cc & 1)){
num_wrong++;
idx1 = i;
}
}
for (int j = 0; j < 8; j++){
int cc = 0;
for (int i = 0; i < 8; i++) cc += board[i][j];
if (state[j + 8] != (cc & 1)){
num_wrong++;
idx2 = j;
}
}
if (num_wrong <= 1) return result;
result[idx1 * 8 + idx2] ^= 1;
return result;
}
// love you, noodles0428 <333
// voi25 3rd++
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |