Submission #677899

#TimeUsernameProblemLanguageResultExecution timeMemory
677899qwerasdfzxclRemittance (JOI19_remittance)C++17
0 / 100
1 ms340 KiB
#include <bits/stdc++.h> typedef long long ll; using namespace std; bool visited[300300]; int n; int v_to_i(vector<int> v){ int pw = 1, ret = 0; for (int i=0;i<n;i++){ ret += pw * v[i]; pw *= 6; } return ret; } vector<int> i_to_v(int x){ vector<int> ret; for (int i=0;i<n;i++){ ret.push_back(x%6); x /= 6; } return ret; } void dfs(int s){ visited[s] = 1; auto a = i_to_v(s); for (int i=0;i<n;i++){ for (int j=1;j*2<=a[i];j++){ auto na = a; na[i] -= j*2; na[(i+1)%n] += j; if (na[(i+1%n)] > 6) continue; int v = v_to_i(na); if (!visited[v]) dfs(v); } } } int main(){ scanf("%d", &n); vector<int> a, b; for (int i=0;i<n;i++){ int x, y; scanf("%d %d", &x, &y); a.push_back(x); b.push_back(y); } dfs(v_to_i(a)); if (visited[v_to_i(b)]) printf("Yes\n"); else printf("No\n"); return 0; }

Compilation message (stderr)

remittance.cpp: In function 'int main()':
remittance.cpp:43:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   43 |     scanf("%d", &n);
      |     ~~~~~^~~~~~~~~~
remittance.cpp:47:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   47 |         scanf("%d %d", &x, &y);
      |         ~~~~~^~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...