Fissura Perigosa

Problem Link

Solution by TheRealFertos100 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


« Back to problem