#include "bits/stdc++.h"
using namespace std;
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
int n, m, k;
cin>>n>>m>>k;
vector< vector<int> > a(n, vector<int>(m, 22222222));
while(k--){
int x, y, s;
cin>>x>>y>>s;
x--;
y--;
int p = 1, Nuevos = 0, Pasos = 1;
if(x > -1 and x < n and y > -1 and y < m){
Nuevos++;
a[x][y] = min(a[x][y], Pasos);
}
Pasos++;
while(Nuevos < n * m){
for(int i = 0; i < p; i++){
if(p % 2 == 1) x--;
else x++;
if(x > -1 and x < n and y > -1 and y < m){
Nuevos++;
a[x][y] = min(a[x][y], Pasos);
}
Pasos++;
/*for(auto E: a){
for(auto e: E) cerr<<e<<" ";
cerr<<"\n";
}
cerr<<"----\n";*/
}
for(int i = 0; i < p; i++){
if(p % 2 == 1){
if(s == 0) y++;
else y--;
} else {
if(s == 0) y--;
else y++;
}
if(x > -1 and x < n and y > -1 and y < m){
Nuevos++;
a[x][y] = min(a[x][y], Pasos);
}
Pasos++;
/*for(auto E: a){
for(auto e: E) cerr<<e<<" ";
cerr<<"\n";
}
cerr<<"----\n";*/
}
p++;
}
}
for(auto E: a){
for(auto e: E) cout<<e<<" ";
cout<<"\n";
}
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |