# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1029170 | tolbi | T-Covering (eJOI19_covering) | C++17 | 122 ms | 16004 KiB |
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 <bits/stdc++.h>
using namespace std;
template<typename T> istream& operator>>(istream& is, vector<T> &V){for (auto &it : V) is>>it; return is;}
template<typename T> void cls(queue<T> &q) {while (q.size()) q.pop();}
int main(){
int n,m;cin>>n>>m;
vector<vector<int>> arr(n,vector<int>(m));
cin>>arr;
vector<vector<int>> tr(n,vector<int>(m,0));
int hh;cin>>hh;
int ans = 0;
for (int i = 0; i < hh; i++){
int x,y;cin>>x>>y;
tr[x][y]=1;
}
bool boolean=true;
function<bool(int,int)> available = [&](int x, int y)->bool{
return (x>=0 && x<n && y>=0 && y<m && tr[x][y]==0);
};
for (int i = 0; i < n; i++){
for (int j = 0; j < m; j++){
if (tr[i][j]>0){
if (i && j+1<m && tr[i-1][j+1]>0){
if (available(i+1,j) && available(i,j-1) && available(i,j+1) && available(i-1,j) && available(i-2,j+1) && available(i-1,j+2)){
tr[i+1][j]=tr[i][j-1]=tr[i][j+1]=tr[i-1][j]=tr[i-2][j+1]=tr[i-1][j+2]=-1;
tr[i][j]=tr[i-1][j+1]=-1;
}
else {
boolean=false;
break;
Compilation message (stderr)
# | 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... |