Submission #773710

#TimeUsernameProblemLanguageResultExecution timeMemory
773710gagik_2007Remittance (JOI19_remittance)C++17
0 / 100
468 ms11856 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef long double ld; typedef pair<ll, ll> pii; typedef pair<ll, ll> pll; #define ff first #define ss second ll ttt; const ll INF=1e18; const ll MOD=1e9+7; const ll N=3e5+7; ll n,m,k; vector<ll>a,b; unordered_map<ll,bool>used; ll verjval; const ll MAXVAL=18; ll value(const vector<ll>& p){ ll cur=1; ll res=0; for(ll x:p){ res+=cur*x; cur*=MAXVAL; } return res; } vector<ll> deval(ll val){ vector<ll>ans; for(int _=0;_<n;_++){ ans.push_back(val%MAXVAL); val/=MAXVAL; } return ans; } void recurs(ll val){ if(val==verjval){ cout<<"Yes"<<endl; exit(0); } if(used[val])return; used[val]=true; vector<ll>p=deval(val); for(ll i=0;i<n;i++){ for(ll j=0;j<n;j++){ if(i!=j){ ll t1=p[i]; ll t2=p[j]; for(ll vl=1;vl<=p[i]/2;vl++){ p[i]-=2*vl; p[j]+=vl; recurs(value(p)); p[i]=t1; p[j]=t2; } } } } } int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); // freopen("output.txt","w",stdout); cin>>n; for(ll i=0;i<n;i++){ ll x,y; cin>>x>>y; a.push_back(x); b.push_back(y); } verjval=value(b); recurs(value(a)); cout<<"No"<<endl; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...