Submission #72906437


Source Code Expand

#include <bits/stdc++.h>
using namespace std;
using ll = long long;
#define rep(i, n) for (int i = 0; i < (int)(n); i++)
#define all(a)  (a).begin(),(a).end()

using P=pair<ll,ll>;
using T=tuple<ll,ll,ll>;

#include <atcoder/all> 
using namespace atcoder;
// using mint=modint998244353;
// using mint=modint1000000007;
// int op(int a,int b){return (a+b);}
// int e(){return 0;}

int main() {
  int test;cin>>test;
  while(test--){
    int n,c;cin>>n>>c;
    c--;
    vector<string> s(n);
    rep(i,n)cin>>s[i];
    vector<int> mw(n,-1);
    rep(i,n){
      rep(j,n){
        if(s[i][j]=='#')mw[j]=i;
      }
    }

    vector<vector<int>> v(n,vector<int>(n,-1));
    queue<P> q;
    

    v[n-1][c]=2;
    q.push({n-2,c});
    if(c-1>=0)q.push({n-2,c-1});
    if(c+1<n)q.push({n-2,c+1});
    while(!q.empty()){
      int i=q.front().first;
      int j=q.front().second;
      q.pop();
      if(v[i][j]!=-1)continue;
      if(s[i][j]=='.'){
        if(i>mw[j])v[i][j]=2;
        else if(v[i+1][j]==2)v[i][j]=2;
        else v[i][j]=1;
      }
      if(s[i][j]=='#'){
        if(i==mw[j])v[i][j]=2;
        else if(v[i+1][j]==2)v[i][j]=2;
        else v[i][j]=0;
      }
      if(v[i][j]!=0 and i>0){
        q.push({i-1,j});
        if(j-1>=0)q.push({i-1,j-1});
        if(j+1<n)q.push({i-1,j+1});
      }
    }
    rep(j,n){
      if(v[0][j]==1 or v[0][j]==2)cout<<1;
      else cout<<0;
    }
    cout<<endl;
  }
}

Submission Info

Submission Time
Task E - Climbing Silver
User Shota_Otsuka
Language C++23 (GCC 15.2.0)
Score 450
Code Size 1481 Byte
Status AC
Exec Time 306 ms
Memory 50448 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 450 / 450
Status
AC × 1
AC × 48
Set Name Test Cases
Sample sample_01.txt
All sample_01.txt, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt, test_07.txt, test_08.txt, test_09.txt, test_10.txt, test_11.txt, test_12.txt, test_13.txt, test_14.txt, test_15.txt, test_16.txt, test_17.txt, test_18.txt, test_19.txt, test_20.txt, test_21.txt, test_22.txt, test_23.txt, test_24.txt, test_25.txt, test_26.txt, test_27.txt, test_28.txt, test_29.txt, test_30.txt, test_31.txt, test_32.txt, test_33.txt, test_34.txt, test_35.txt, test_36.txt, test_37.txt, test_38.txt, test_39.txt, test_40.txt, test_41.txt, test_42.txt, test_43.txt, test_44.txt, test_45.txt, test_46.txt, test_47.txt
Case Name Status Exec Time Memory
sample_01.txt AC 1 ms 3448 KiB
test_01.txt AC 42 ms 3600 KiB
test_02.txt AC 54 ms 3584 KiB
test_03.txt AC 70 ms 3408 KiB
test_04.txt AC 84 ms 3408 KiB
test_05.txt AC 104 ms 3568 KiB
test_06.txt AC 126 ms 3584 KiB
test_07.txt AC 148 ms 3408 KiB
test_08.txt AC 173 ms 3444 KiB
test_09.txt AC 208 ms 3404 KiB
test_10.txt AC 235 ms 3584 KiB
test_11.txt AC 266 ms 3604 KiB
test_12.txt AC 299 ms 3448 KiB
test_13.txt AC 306 ms 3540 KiB
test_14.txt AC 235 ms 3584 KiB
test_15.txt AC 142 ms 4112 KiB
test_16.txt AC 143 ms 3920 KiB
test_17.txt AC 112 ms 50040 KiB
test_18.txt AC 203 ms 50444 KiB
test_19.txt AC 222 ms 50412 KiB
test_20.txt AC 112 ms 49980 KiB
test_21.txt AC 191 ms 50432 KiB
test_22.txt AC 190 ms 50364 KiB
test_23.txt AC 189 ms 50396 KiB
test_24.txt AC 112 ms 50040 KiB
test_25.txt AC 112 ms 50000 KiB
test_26.txt AC 112 ms 49964 KiB
test_27.txt AC 228 ms 50376 KiB
test_28.txt AC 220 ms 50448 KiB
test_29.txt AC 223 ms 50448 KiB
test_30.txt AC 196 ms 50416 KiB
test_31.txt AC 229 ms 50376 KiB
test_32.txt AC 159 ms 50320 KiB
test_33.txt AC 174 ms 50320 KiB
test_34.txt AC 130 ms 50316 KiB
test_35.txt AC 175 ms 50304 KiB
test_36.txt AC 205 ms 50412 KiB
test_37.txt AC 233 ms 50444 KiB
test_38.txt AC 224 ms 50252 KiB
test_39.txt AC 212 ms 50256 KiB
test_40.txt AC 195 ms 50296 KiB
test_41.txt AC 216 ms 50296 KiB
test_42.txt AC 112 ms 49964 KiB
test_43.txt AC 191 ms 50288 KiB
test_44.txt AC 114 ms 50128 KiB
test_45.txt AC 214 ms 50416 KiB
test_46.txt AC 112 ms 50024 KiB
test_47.txt AC 112 ms 49968 KiB