Submission #433850

#TimeUsernameProblemLanguageResultExecution timeMemory
433850dxz05Remittance (JOI19_remittance)C++14
15 / 100
530 ms262148 KiB
#include <bits/stdc++.h>

using namespace std;

typedef long long ll;
const int N = 5e5 + 3e2;

#define MP make_pair
mt19937 rng(chrono::high_resolution_clock::now().time_since_epoch().count());

set<vector<int>> used;

void dfs(vector<int> v){
    if (used.find(v) != used.end()) return;
    used.insert(v);

    int n = v.size();
    for (int i = 0; i < n; i++){
        if (v[i] >= 2){
            v[i] -= 2;
            v[(i + 1) % n]++;

            dfs(v);

            v[i] += 2;
            v[(i + 1) % n]--;
        }
    }
}

void solve(){
    int n;
    cin >> n;

    vector<int> a(n), b(n);
    for (int i = 0; i < n; i++){
        cin >> a[i] >> b[i];
    }

    dfs(a);

    cout << (used.count(b) ? "Yes" : "No");

}

int main(){
    ios_base::sync_with_stdio(false);
    //freopen("output.txt", "w", stdout);
    int tests = 1;
   // cin >> tests;

    while (tests--){
        solve();
    }

    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...