Submission #899736

#TimeUsernameProblemLanguageResultExecution timeMemory
899736YassirSalamaICC (CEOI16_icc)C++17
7 / 100
208 ms852 KiB
#include <iostream> #include <vector> #include <algorithm> #include <unordered_map> #include <set> #include <unordered_set> #include <iomanip> #include <cmath> #include <limits> #include <map> #include <utility> #include <cctype> #include <string> #include <cstring> #include <stack> #include <queue> #include<assert.h> #include <functional> #include <iterator> #include "icc.h" using namespace std; #define OVL(x,s) for(auto y:x) cout<<y<<s; cout<<"\n"; #ifdef IOI void dbg_out() { cout << endl; } template<typename Head, typename... Tail> void dbg_out(Head H, Tail... T) { cout << ' ' << H; dbg_out(T...); } #define dbg(...) cout << "(" << #__VA_ARGS__ << "):", dbg_out(__VA_ARGS__); #else #define dbg(...) 1337; #endif #define endl "\n" #define pb push_back #define F first #define S second #define ll long long #define mod 1000000007 #define all(v) v.begin(),v.end() int ask(vector<int> a,vector<int> b){ int n=a.size(); int m=b.size(); int A[n]; int B[m]; for(int i=0;i<n;i++) A[i]=a[i]; for(int i=0;i<m;i++) B[i]=b[i]; return query(n,m,A,B); } const int MAXN=2e3+100; int par[MAXN]; struct DSU { DSU(){ for(int i=0;i<MAXN;i++) par[i]=i; } int find(int node){ return node==par[node]?node:par[node]=find(par[node]); } bool same(int a,int b){ return find(a)==find(b); } void merge(int a,int b){ a=find(a); b=find(b); if(a==b) return; par[a]=b; } }; void run(int n){ DSU dsu=DSU(); for(int ww=0;ww<n-1;ww++){ int x=-1; int y=-1; for(int i=1;i<=n;i++){ bool ok=false; for(int j=1;j<=n;j++){ if(dsu.same(i,j)) continue; if(i==j) continue; vector<int> a={i}; vector<int> b={j}; if(ask(a,b)){ // dbg(i,j,ask(a,b)) setRoad(i,j); dsu.merge(i,j); ok=true;break; } } if(ok) break; } continue; // // dbg(x,y) // setRoad(x,y); // dsu.merge(x,y); // break; // setRoad(1,1); } } // #ifdef IOI // int main(){ // int n; // cin>>n; // vector<pair<int,int>> v; // for(int i=0;i<n-1;i++){ // int a,b; // cin>>a>>b; // v.pb({a,b}); // } // for(int i=0;i<MMS;i++) pr[i]=i; // EDGES=v; // merge(EDGES[0].F,EDGES[0].S); // run(n); // cout<<"YES"<<endl; // } // #elif // int main(){ // return 0; // } // #endif

Compilation message (stderr)

icc.cpp: In function 'void run(int)':
icc.cpp:68:7: warning: unused variable 'x' [-Wunused-variable]
   68 |   int x=-1;
      |       ^
icc.cpp:69:7: warning: unused variable 'y' [-Wunused-variable]
   69 |   int y=-1;
      |       ^
#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...