제출 #1078379

#제출 시각아이디문제언어결과실행 시간메모리
1078379Marco_EscandonMagic Show (APIO24_show)C++17
0 / 100
3 ms1588 KiB
#include "Alice.h" #include <bits/stdc++.h> using namespace std; typedef int ll; std::vector<std::pair<int,int>> Alice(){ ll n=5000; long long x = setN(n); map<pair<ll,ll>,ll> mapa; vector<pair<ll,ll>> temp; ll a=x/5000+1;ll b=x%5000+1; mapa[{a,b}]=1; mapa[{b,a}]=1; temp.push_back({a,b}); ll c1=1; for(int i=1; i<=n; i++) { if(c1>=(n-2)/2&&i!=b&&mapa[{i,b}]==0) { temp.push_back({i,b}); mapa[{i,b}]=1; mapa[{b,i}]=1; } if(i!=a&&c1<(n-2)/2&&mapa[{i,a}]==0) { temp.push_back({i,a}); mapa[{i,a}]=1; mapa[{a,i}]=1; c1++; } } return temp; }
//#include "Bob.h" #include <bits/stdc++.h> using namespace std; typedef int ll; long long Bob(std::vector<std::pair<int,int>> V){ vector<ll> v(5001,0); pair<ll,ll> a={0,0}; for(auto i:V) { v[i.first]++; v[i.second]++; a=max(max(make_pair(i.first,i.second),make_pair(i.second,i.first)),a); } pair<ll,ll> bs={0,0}; for(int i=0; i<5001; i++) { bs=max(make_pair(v[i],i),bs); } v[bs.second]=0; pair<ll,ll> bs2={0,0}; for(int i=0; i<5001; i++) { bs2=max(make_pair(v[i],i),bs2); } if(bs2.first<=1) bs2=bs; //cout<<bs.second<<" "<<bs2.second<<"\n"; if(a.second==bs.second||a.first==bs.second) swap(bs,bs2); if(bs2.second-1==0) bs.second++; return (bs.second-1)*5000+bs2.second-1; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...