Fissura Perigosa
Problem LinkSolution by TheRealFertos — 100 pts
Code / Notes
#include <bits/stdc++.h>
using namespace std;
void aaa (vector<vector<char>> &a, int w, int x, int y, int s) {
if (x>=s or y>=s) { // aqui era pra ser >=
// queria te mostrar o jeito didatico de resolver, mas o ide da usaco nao ajudou//triste
// ele eh meio bugado quando da erro
return;//ainda deu re
}
if (a[x][y]=='*') {//return
return;
}
if (w>=a[x][y]-'0') {
a[x][y]='*';
if (x>0 && y>0) {
aaa (a,w,x+1,y,s);
aaa (a,w,x-1,y,s);
aaa (a,w,x,y+1,s);
aaa (a,w,x,y-1,s);
}
else if (x>0) {
aaa (a,w,x+1,y,s);
aaa (a,w,x-1,y,s);
aaa (a,w,x,y+1,s);
}
else if (y>0) {
aaa (a,w,x+1,y,s);
aaa (a,w,x,y+1,s);
aaa (a,w,x,y-1,s);
}
else {
aaa (a,w,x+1,y,s);
aaa (a,w,x,y+1,s);
}
}
}
int main () {
int t, forca;
cin >> t >> forca;
vector <vector<char>> f;
for (int i=0; i<t; i++) {
vector <char> z;
for (int q=0; q<t; q++) {
char s;
cin >> s;
z.push_back(s);//push_back ta dando errado?????
// vou deixar voce filosofar sobre esse ai...
}
f.push_back(z);
}
aaa (f,forca,0,0,t);
for (int i=0;i<t;i++) {
for(int q=0;q<t;q++) {
cout << f[i][q];
}
cout << endl;
}
}
Last updated 2 weeks, 3 days ago