提出 #52113578


ソースコード 拡げる

#include <bits/stdc++.h>
using namespace std;
#define ll long long

#define file \
  freopen("input.txt", "r", stdin);\
  freopen("output.txt", "w", stdout)

#define OJudge(in,out) \
      freopen(in, "r", stdin);\
      freopen(out, "w", stdout)


#define FIn   \
  cin.tie(0); \
  cout.tie(0); \
  ios_base::sync_with_stdio(false)

const string IN = "input.txt";
const string OUT = "output.txt";


int  tc;
ll a,b,l,w,h,c;

bool dn = 0;
set <int> vis[205][205];
char arr[205][205];
int mp[205][205];
//cout<<fixed<<setprecision(10);
#define all(x) x.begin(), x.end()


void trying (int n, int m, int enrgy){

    if (dn)
        return;

    if (arr[n][m] == 'T'){
        dn = 1;
        return;
    }


    if (mp[n][m] != 0){
        if (enrgy < mp[n][m]) {
            enrgy = mp[n][m];
            mp[n][m] = 0;
        }
    }
    if (enrgy == 0)
        return;

    if (vis[n][m].count(enrgy))
        return;
    else{
        if (vis[n][m].empty()) vis[n][m].insert(enrgy);
        else{
            if (enrgy < *prev(vis[n][m].end())){
                vis[n][m].insert(enrgy);
                return; 
            }
            else vis[n][m].insert(enrgy);
        }
    }

    if (n<w && !dn && arr[n+1][m] != '#'){
        trying(n+1,m,enrgy-1);
    }
    if(n>1 && !dn && arr[n-1][m] != '#'){
        trying(n-1,m,enrgy - 1);
    }
    if (m<h && !dn && arr[n][m+1] != '#'){
        trying(n,m+1,enrgy-1);
    }
    if (m>1 && !dn && arr[n][m-1] != '#'){
        trying(n, m-1, enrgy - 1);
    }
    return;
}



void solve(){
    cin>>w>>h;
    int beg1 = -1, beg2 = -1;
    for (int i = 1; i<=w; i++){
        for (int j = 1; j<=h; j++){
            cin>>arr[i][j];
            if (arr[i][j] == 'S'){
                beg1 = i;
                beg2 = j;
            }
            mp[i][j] = 0;
        }
    }
    cin>>a;
    for (int i = 0; i<a; i++){
        cin>>b>>c>>l;
        mp[b][c] = l;
    }
    trying(beg1,beg2,0);
    if (dn) cout<<"Yes\n";
    else cout<<"No\n";
}


int main() {
    FIn;
#ifndef ONLINE_JUDGE
    OJudge(IN.c_str(),OUT.c_str());
#endif
    bool test = 0;
    if (test)
        cin>>tc;
    else tc = 1;
    while(tc--){
        solve();
    }
}

提出情報

提出日時
問題 D - Medicines on Grid
ユーザ NP_Complete
言語 C++ 20 (gcc 12.2)
得点 0
コード長 2313 Byte
結果 TLE
実行時間 2246 ms
メモリ 735956 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 0 / 425
結果
AC × 3
AC × 41
TLE × 12
セット名 テストケース
Sample example0.txt, example1.txt, example2.txt
All example0.txt, example1.txt, example2.txt, test_00.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, test_48.txt, test_49.txt
ケース名 結果 実行時間 メモリ
example0.txt AC 2 ms 5504 KiB
example1.txt AC 2 ms 5448 KiB
example2.txt AC 2 ms 5448 KiB
test_00.txt AC 4 ms 7036 KiB
test_01.txt AC 3 ms 5968 KiB
test_02.txt AC 2 ms 5656 KiB
test_03.txt AC 4 ms 8088 KiB
test_04.txt AC 3 ms 6180 KiB
test_05.txt AC 3 ms 6084 KiB
test_06.txt AC 4 ms 7144 KiB
test_07.txt AC 4 ms 7024 KiB
test_08.txt AC 5 ms 8456 KiB
test_09.txt AC 2 ms 5540 KiB
test_10.txt AC 4 ms 7924 KiB
test_11.txt AC 9 ms 12076 KiB
test_12.txt AC 3 ms 6124 KiB
test_13.txt AC 7 ms 8608 KiB
test_14.txt AC 2 ms 5520 KiB
test_15.txt AC 4 ms 6516 KiB
test_16.txt AC 2 ms 5780 KiB
test_17.txt AC 6 ms 7964 KiB
test_18.txt AC 5 ms 7704 KiB
test_19.txt AC 7 ms 8720 KiB
test_20.txt AC 5 ms 7400 KiB
test_21.txt AC 4 ms 6800 KiB
test_22.txt AC 7 ms 7424 KiB
test_23.txt AC 17 ms 11204 KiB
test_24.txt AC 4 ms 6428 KiB
test_25.txt AC 128 ms 35728 KiB
test_26.txt AC 9 ms 8164 KiB
test_27.txt AC 22 ms 11980 KiB
test_28.txt AC 3 ms 6004 KiB
test_29.txt AC 71 ms 26240 KiB
test_30.txt AC 95 ms 32452 KiB
test_31.txt AC 10 ms 9884 KiB
test_32.txt AC 2 ms 5616 KiB
test_33.txt AC 2 ms 5700 KiB
test_34.txt AC 2 ms 5644 KiB
test_35.txt AC 2 ms 5640 KiB
test_36.txt AC 2 ms 5592 KiB
test_37.txt TLE 2223 ms 247404 KiB
test_38.txt TLE 2220 ms 233608 KiB
test_39.txt TLE 2220 ms 251564 KiB
test_40.txt TLE 2219 ms 227344 KiB
test_41.txt TLE 2220 ms 245380 KiB
test_42.txt TLE 2220 ms 230684 KiB
test_43.txt TLE 2220 ms 249556 KiB
test_44.txt TLE 2220 ms 233996 KiB
test_45.txt TLE 2237 ms 573124 KiB
test_46.txt TLE 2246 ms 735956 KiB
test_47.txt TLE 2237 ms 558672 KiB
test_48.txt TLE 2246 ms 735884 KiB
test_49.txt AC 2 ms 5420 KiB