Submission #1296177

#TimeUsernameProblemLanguageResultExecution timeMemory
1296177PieArmyBrought Down the Grading Server? (CEOI23_balance)C++20
35 / 100
40 ms21228 KiB
#include<bits/stdc++.h> typedef long long ll; #define pb push_back #define fr first #define sc second #define endl '\n' using namespace std; #define mid ((left+right)>>1) int n,s,t; int yon[100023],deg[100023]; pair<int,int>arr[100023]; vector<pair<int,int>>komsu[100023]; void f(int tar,int x){ yon[tar]=(x==arr[tar].fr?1:2); deg[arr[tar].fr]--; deg[arr[tar].sc]--; } void dfs(int bas){ int pos=bas; while(deg[pos]){ while(yon[komsu[pos].back().sc])komsu[pos].pop_back(); f(komsu[pos].back().sc,pos); pos=komsu[pos].back().fr; } } int main(){ ios_base::sync_with_stdio(23^23);cin.tie(NULL); cin>>n>>s>>t; for(int i=1;i<=n;i++){ cin>>arr[i].fr>>arr[i].sc; komsu[arr[i].fr].pb({arr[i].sc,i}); komsu[arr[i].sc].pb({arr[i].fr,i}); deg[arr[i].fr]++; deg[arr[i].sc]++; } for(int i=1;i<=t;i++){ if(deg[i]&1){ dfs(i); } } for(int i=1;i<=n;i++){ if(deg[i]){ dfs(i); } } for(int i=1;i<=n;i++){ if(yon[i]==1)swap(arr[i].fr,arr[i].sc); cout<<arr[i].fr<<" "<<arr[i].sc<<endl; } }
#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...