# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1205539 | tamzid | Mosaic (IOI24_mosaic) | C++20 | 0 ms | 0 KiB |
#include "mosaic.h"
#include <vector>
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 Q = (int)T.size();
std::vector<long long> C(Q, 0);
int n = X.size();
std::vector<std::vector<int>> grid(n,std::vector<int>(n));
for(int i=0;i<n;++i)
{
grid[i][0] = Y[i];
}
for(int i=0;i<n;++i)
{
grid[0][i] = X[i];
}
for(int i=1;i<n;++i)
{
for(int j=1;j<n;++j)
{
grid[i][j] = (grid[i-1][j] == 0 && grid[i][j-1] == 0 ? 1 : 0);
}
}
for(int k=0;k<Q;++k)
{
C[k] = (grid[T[k]][L[k]] == 1 ? 1 : 0);
}
return C;
}