結果
| 問題 | No.20 砂漠のオアシス | 
| コンテスト | |
| ユーザー |  Konton7 | 
| 提出日時 | 2020-02-02 23:21:23 | 
| 言語 | C++17 (gcc 13.3.0 + boost 1.87.0) | 
| 結果 | 
                                WA
                                 
                             | 
| 実行時間 | - | 
| コード長 | 1,567 bytes | 
| コンパイル時間 | 2,467 ms | 
| コンパイル使用メモリ | 200,676 KB | 
| 最終ジャッジ日時 | 2025-01-08 21:55:56 | 
| ジャッジサーバーID (参考情報) | judge1 / judge4 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 19 WA * 2 | 
ソースコード
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using PII = std::pair<int, int>;
using PLL = std::pair<ll, ll>;
#define rep(i, n) for (int i = 0; i < (int)(n); i++)
#define rep2(i, s, n) for (int i = (s); i < (int)(n); i++)
vector<vector<int>> desert, vital;
void dfs(int y, int x, int v, int n)
{
    if (!(0 <= y && y < n && 0 <= x && x < n))
        return;
    if (v - desert[y][x] <= vital[y][x])
        return;
    else
    {
        vital[y][x] = v - desert[y][x];
        dfs(y, x + 1, v - desert[y][x], n);
        dfs(y, x - 1, v - desert[y][x], n);
        dfs(y + 1, x, v - desert[y][x], n);
        dfs(y - 1, x, v - desert[y][x], n);
    }
}
int main()
{
#ifdef DEBUG
    cout << "DEBUG MODE" << endl;
    ifstream in("input.txt"); //for debug
    cin.rdbuf(in.rdbuf());    //for debug
#endif
    int n, v, ox, oy, di;
    cin >> n >> v >> ox >> oy;
    vector<int> vi;
    rep(i, n)
    {
        vi.clear();
        rep(j, n)
        {
            cin >> di;
            vi.push_back(di);
        }
        desert.push_back(vi);
        vi.clear();
        rep(j, n)
        {
            vi.push_back(0);
        }
        vital.push_back(vi);
    }
    dfs(0, 0, v, n);
    
        
    if (!(ox == 0 && oy == 0))
    {
        oy--, ox--;
        v = 2 * vital[oy][ox] + desert[oy][ox];
        rep(i, n)
            rep(j, n)
                vital[i][j] = 0;
        dfs(oy, ox, v, n);
    }
    if (vital[n - 1][n - 1] == 0)
        cout << "NO" << endl;
    else
        cout << "YES" << endl;
    return 0;
}
            
            
            
        