#include "mosaic.h"
#include<bits/stdc++.h>
using namespace std;
const int N = 200010;
int linha[3][N], coluna[N][3];
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();
vector <long long> ans;
for(int i = 0;i < n;i++){
linha[0][i] = x[i];
coluna[i][0] = y[i];
}
linha[1][0] = coluna[1][0];
linha[2][0] = coluna[2][0];
coluna[0][1] = linha[0][1];
coluna[0][2] = linha[0][2];
for(int i = 1;i < 3;i++){
for(int j = 1;j < n;j++){
if(linha[i][j-1] == 0 and linha[i-1][j] == 0)
linha[i][j] = 1;
else
linha[i][j] = 0;
if(coluna[j-1][i] == 0 and coluna[j][i-1] == 0)
coluna[j][i] = 1;
else
coluna[j][i] = 0;
}
}
/*for(int i = 0;i < 3;i++){
for(int j = 0;j < n;j++){
cout << linha[i][j] << ' ';
}
cout << '\n';
}
for(int j = 0;j < n;j++){
for(int i = 0;i < 3;i++){
cout << coluna[j][i] << ' ';
}
cout << '\n';
}*/
for(int i = 0;i < T.size();i++){
int xx = T[i], yy = L[i];
if(xx < 3){
ans.push_back(linha[xx][yy]);
}
else if(yy < 3){
ans.push_back(coluna[xx][yy]);
}
else{
int mn = min(xx, yy);
xx -= mn-2;
yy -= mn-2;
if(xx < 3){
ans.push_back(linha[xx][yy]);
}
else if(yy < 3){
ans.push_back(coluna[xx][yy]);
}
}
}
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... |