Submission #98064

#TimeUsernameProblemLanguageResultExecution timeMemory
98064autumn_eelMemory 2 (JOI16_memory2)C++14
100 / 100
3 ms384 KiB
#include <bits/stdc++.h> #define rep(i,n)for(int i=0;i<(n);i++) using namespace std; #include "Memory2_lib.h" static int d[100],t[100]; static vector<int>ans[50]; void Solve(int T, int N){ vector<int>v; rep(i,2*N)v.push_back(i); memset(d,-1,sizeof(d)); random_device rnd; while(!v.empty()){ do{ shuffle(v.begin(),v.end(),rnd); }while(d[v[0]]!=-1); map<int,int>mp; for(int i=1;i<v.size();i++){ if(d[v[i]]!=-1){ t[v[i]]=d[v[i]]; mp[t[v[i]]]++; continue; } t[v[i]]=Flip(v[0],v[i]); mp[t[v[i]]]++; } int a=-1; for(auto p:mp){ if(p.second%2){ a=p.first; break; } } d[v[0]]=a; ans[a].push_back(v[0]); vector<int>nx; if(ans[a].size()==1)nx.push_back(v[0]); for(int i=1;i<v.size();i++){ if(t[v[i]]==a){ if(d[v[i]]==a){ continue; } else nx.push_back(v[i]); } else if(d[v[i]]==-1){ d[v[i]]=t[v[i]]; ans[d[v[i]]].push_back(v[i]); } } v=nx; } rep(i,N){ Answer(ans[i][0],ans[i][1],i); } return; }

Compilation message (stderr)

memory2.cpp: In function 'void Solve(int, int)':
memory2.cpp:20:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int i=1;i<v.size();i++){
               ~^~~~~~~~~
memory2.cpp:40:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int i=1;i<v.size();i++){
               ~^~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...