This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "mars.h"
#include<bits/stdc++.h>
using namespace std;
using ll = long long;
int di[4] = { 1, 0, -1, 0 }, dj[4] = { 0, 1, 0, -1 };
// n <= 2
string count_island(int n, vector<string> v) {
vector<vector<bool>> vis(n, vector<bool>(n, false));
function<void(int, int)> dfs;
dfs = [&](int i, int j) {
vis[i][j] = 1;
for (int k = 0;k < 4;k++) {
int ii = i + di[k], jj = j + dj[k];
if (ii < 0 || jj < 0 || ii >= n || jj >= n) continue;
if (vis[ii][jj] || v[ii][jj] == '0') continue;
dfs(ii, jj);
}
};
int cnt = 0;
for (int i = 0;i < n;i++) {
for (int j = 0;j < n;j++) {
if (!vis[i][j] && v[i][j] == '1') {
cnt++;
dfs(i, j);
}
}
}
string s = string(100, '0');
for (int j = 0;j < 10;j++) {
s[j] = ((cnt >> j) & 1) + '0';
}
return s;
}
string process(vector<vector<string>> a, int i, int j, int k, int n) {
if (n == 1) {
vector<string> v(3, string(3, '0'));
for (int i = 0;i < 3;i++) {
for (int j = 0;j < 3;j++) {
v[i][j] = a[i][j][0];
}
}
return count_island(2 * n + 1, v);
}
if (k == 0) {
string s = string(100, '0');
int tot = 0;
for (auto& x : a) {
for (auto& y : x) {
s[tot++] = y[0];
}
}
return s;
}
vector<string> v(2 * n + 1, string(2 * n + 1, '0'));
// a[0][0], a[0][2], a[2][0], a[2][2]
for (int i = 0;i < 3;i++) {
for (int j = 0;j < 3;j++) {
v[i][j] = a[0][0][i * 3 + j];
v[3 + i][j] = a[2][0][i * 3 + j];
v[i][3 + j] = a[0][2][i * 3 + j];
v[3 + i][3 + j] = a[2][2][i * 3 + j];
}
}
return count_island(2 * n + 1, v);
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |