제출 #232424

#제출 시각아이디문제언어결과실행 시간메모리
232424limabeansRemittance (JOI19_remittance)C++17
15 / 100
1093 ms85952 KiB
#include <bits/stdc++.h>
using namespace std;

template<typename T>
void out(T x) { cout << x << endl; exit(0); }
#define watch(x) cout << (#x) << " is " << (x) << endl




typedef long long ll;
const ll mod = 1e9+7;
const int maxn = 10;









int n;
vector<int> a, b;

int main() {
    ios_base::sync_with_stdio(false); cin.tie(0);  cout.tie(0);

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

    set<vector<int>> ss;


    queue<vector<int>> qq;
    qq.push(a);


    auto gen = [](vector<int> v) {
	int n = v.size();
	vector<vector<int>> res;
	for (int i=0; i<n; i++) {
	    if (v[i]>=2) {
		vector<int> w = v;
		w[i]-=2;
		w[(i+1)%n]++;
		res.push_back(w);
	    }
	    
	}
	return res;
    };

    while (qq.size()) {
	auto at = qq.front(); qq.pop();
	ss.insert(at);
	for (auto w: gen(at)) {
	    if (!ss.count(w)) {
		ss.insert(w);
		qq.push(w);
	    }
	}
    }

    if (ss.count(b)) out("Yes");
    out("No");


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