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;
vector<vector<int>> adj;
int r,s;
int vx[4] = {0,0,1,-1}, vy[4] = {1,-1,0,0};
void dfs(int x, int y, int cor){
int atual = adj[x][y];
adj[x][y] = cor;
for(int i=0 ;i<4; i++){
int xx = x + vx[i]; int yy = y+vy[i];
if(xx < 0 or xx >= r or yy < 0 or yy >= s) continue;
if(adj[xx][yy] == atual) dfs(xx,yy,cor);
}
return;
}
int main(){
cin >> r >> s;
adj.assign(r, vector<int> (s, 0));
for(int i=0; i<r; i++){
for(int j=0; j<s; j++){
int x; cin >> x;
adj[i][j] = x;
}
}
int q; cin >> q;
for(int i=0; i<q; i++){
int x,y,cor; cin >> x >> y >> cor;
x--; y--;
if(cor == adj[x][y]) continue;
dfs(x,y,cor);
}
for(int i=0; i<r; i++){
for(int j=0; j< s; j++){
if(j) cout << ' ';
cout << adj[i][j];
}
cout << endl;
}
}
# | 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... |