Submission #648374

#TimeUsernameProblemLanguageResultExecution timeMemory
648374berrThe Collection Game (BOI21_swaps)C++17
0 / 100
1 ms208 KiB
#include <bits/stdc++.h> #include "swaps.h" using namespace std; void solve(int N, int V) { if(V=5000) { vector<int> vis(N+1); vector<int> ans; for(int x=0; x<N; x++) { vector<int> q; for(int i=1; i<=N; i++) { if(!vis[i]) q.push_back(i); } while(q.size()>1) { for(int l=0; l<q.size()-1; l++) { schedule(q[l], q[l+1]); } auto b=visit(); vector<int> p; for(int l=0; l<b.size(); l++) { if(b[l]==1) p.push_back(q[l*2-1]); else p.push_back(q[l*2]); } if(q.size()%2==1) p.push_back(q[q.size()-1]) ; q=p; } vis[q[0]]=1; ans.push_back(q[0]); } answer(ans); } else { vector<array<int, 2>> a[V]; vector<vector<int>> vis(V, vector<int>(N+1)); vector<vector<int>> c(N+1, vector<int>(N+1)); for(int i=1; i<=N; i++) { for(int l=i+1; l<=N; l++) { int flag=1; for(int j=0; j<V&&flag; j++) { if(vis[j][i]==0&&vis[j][l]==0) { a[j].push_back({i, l}); vis[j][i]=1; vis[j][l]=1; flag=0; } } } } for(int i=0; i<V&&a[i].size(); i++) { for(auto l: a[i]) schedule(l[0], l[1]); auto b=visit(); for(int l=0; l<a[i].size(); l++) { if(b[l]==1) c[a[i][l][0]][a[i][l][1]]=1, c[a[i][l][1]][a[i][l][0]]=0; else c[a[i][l][0]][a[i][l][1]]=0, c[a[i][l][1]][a[i][l][0]]=1; } } vector<array<int, 2>> q; vector<int> s; for(int i=1; i<=N; i++) { int l=0; for(auto j: c[i]) if(j==0) l++; q.push_back({l, i}); } sort(q.begin(), q.end()); for(auto i: q) s.push_back(i[1]); answer(s); } }

Compilation message (stderr)

swaps.cpp: In function 'void solve(int, int)':
swaps.cpp:9:9: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
    9 |     if(V=5000)
      |        ~^~~~~
swaps.cpp:26:31: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   26 |                 for(int l=0; l<q.size()-1; l++)
      |                              ~^~~~~~~~~~~
swaps.cpp:34:31: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   34 |                 for(int l=0; l<b.size(); l++)
      |                              ~^~~~~~~~~
swaps.cpp:82:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::array<int, 2> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   82 |         for(int l=0; l<a[i].size(); l++)
      |                      ~^~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...