Submission #446821

#TimeUsernameProblemLanguageResultExecution timeMemory
446821MOUF_MAHMALATPaint (COI20_paint)C++11
0 / 100
3048 ms584 KiB
#include<bits/stdc++.h> #define all(s) s.begin(),s.end() using namespace std; typedef int ll; ll n,m,a[10009],q,c; vector<vector<ll> >v; queue<ll>dq; ll op(ll x,ll y) { if(x<0||y<0||x>=n||y>=m) return -1; return x*m+y; } int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin>>n>>m; for(ll i=0; i<n*m; i++) cin>>a[i]; v.resize(n*m); for(ll i=0; i<n; i++) for(ll j=0; j<m; j++) { ll o=op(i,j),k; k=op(i-1,j); if(k>-1) v[o].push_back(k); k=op(i+1,j); if(k>-1) v[o].push_back(k); k=op(i,j-1); if(k>-1) v[o].push_back(k); k=op(i,j+1); if(k>-1) v[o].push_back(k); } cin>>q; while(q--) { ll x,y,z,o; cin>>x>>y>>z; o=op(x-1,y-1); c=a[o],a[o]=z; dq.push(o); while(!dq.empty()) { o=dq.front(); dq.pop(); for(auto u:v[o]) if(a[u]==c) { a[u]=z; dq.push(u); } } } for(ll i=0; i<n; i++) { for(ll j=0; j<m; j++) cout<<a[op(i,j)]<<" "; cout<<"\n"; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...