Submission #1053275

#TimeUsernameProblemLanguageResultExecution timeMemory
1053275PiokemonFurniture (JOI20_furniture)C++17
5 / 100
1048 ms480 KiB
#include <bits/stdc++.h>
using namespace std;
typedef long long int ll;

constexpr int N = 100;
bool dasie[N+9][N+9];
bool blok[N+9][N+9];

bool spoko(int n, int m){
    for (int x=0;x<=n;x++){
        for (int y=0;y<=m;y++)dasie[x][y]=0;
    }
    dasie[1][1]=1;
    for (int x=1;x<=n;x++){
        for (int y=1;y<=m;y++){
            if (blok[x][y])continue;
            if (dasie[x][y]){
                if (!blok[x+1][y])dasie[x+1][y]=1;
                if (!blok[x][y+1])dasie[x][y+1]=1;
            }
        }
    }
    if (dasie[n][m])return 1;
    return 0;
}

int main(){
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    int n,m;
    cin >> n >> m;
    for (int x=1;x<=n;x++){
        for (int y=1;y<=m;y++)cin >> blok[x][y];
    }
    int q,a,b;
    cin >> q;
    while(q--){
        cin >> a >> b;
        blok[a][b]=1;
        if (spoko(n,m)){
            cout << "1\n";
        }
        else{
            blok[a][b]=0;
            cout << "0\n";
        }
    }
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...