#include "mosaic.h"
#include <bits/stdc++.h>
using namespace std;
std::vector<long long> mosaic(std::vector<int> X, std::vector<int> Y,
std::vector<int> T, std::vector<int> B,
std::vector<int> L, std::vector<int> R) {
int n = X.size();
int q = T.size();
bool y[n][4];
bool x[4][n];
vector<long long> ans;
for (int i = 0; i < n; ++i)
{
x[0][i]=X[i];
y[i][0]=Y[i];
}
for (int i = 1; i < 4; ++i)
{
x[i][0]=Y[i];
y[0][i]=X[i];
}
for (int i = 1; i < 4; ++i)
{
for (int j = 1; j < n; ++j)
{
if(x[i-1][j]+x[i][j-1]==0) x[i][j]=1;
else x[i][j]=0;
}
}
for (int i = 1; i < n; ++i)
{
for (int j = 1; j < 4; ++j)
{
if(y[i-1][j]+y[i][j-1]==0) y[i][j]=1;
else y[i][j]=0;
}
}
for (int test = 0; test < q; ++test)
{
int i = T[test];
int j = L[test];
if(i<4) ans.push_back(x[i][j]);
else if(j<4) ans.push_back(y[i][j]);
else{
int up = i - 3;
int left = j - 3;
if(j-up>=3) ans.push_back(x[3][j-up]);
else if(i-left>=3) ans.push_back(y[i-left][3]);
}
}
return ans;
}
# | 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... |