結果
問題 | No.416 旅行会社 |
ユーザー | vjudge1 |
提出日時 | 2024-12-23 21:14:02 |
言語 | C++23 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 2,409 bytes |
コンパイル時間 | 5,729 ms |
コンパイル使用メモリ | 314,916 KB |
実行使用メモリ | 19,048 KB |
最終ジャッジ日時 | 2024-12-23 21:14:12 |
合計ジャッジ時間 | 8,484 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 84 ms
18,780 KB |
testcase_01 | AC | 2 ms
5,248 KB |
testcase_02 | AC | 3 ms
5,248 KB |
testcase_03 | AC | 3 ms
5,248 KB |
testcase_04 | AC | 3 ms
5,248 KB |
testcase_05 | AC | 2 ms
5,248 KB |
testcase_06 | AC | 2 ms
5,248 KB |
testcase_07 | AC | 3 ms
5,248 KB |
testcase_08 | AC | 5 ms
5,248 KB |
testcase_09 | AC | 14 ms
5,248 KB |
testcase_10 | AC | 111 ms
18,652 KB |
testcase_11 | AC | 111 ms
19,048 KB |
testcase_12 | AC | 116 ms
19,044 KB |
testcase_13 | AC | 86 ms
19,028 KB |
testcase_14 | WA | - |
testcase_15 | WA | - |
testcase_16 | WA | - |
testcase_17 | WA | - |
testcase_18 | WA | - |
testcase_19 | WA | - |
testcase_20 | WA | - |
ソースコード
/* *Author: Hughpig *made in China */ #include<bits/stdc++.h> using namespace std; #if __has_include(<atcoder/all>) #include<atcoder/all> using namespace atcoder; #endif #define ll long long #define ld long double #define up(l,r,i) for(int i=(l);(i)<=(r);++i) #define vi vector<ll> #define pii pair<ll,ll> #define pb push_back #define pob pop_back #define gc getchar #define pc putchar #define il inline #define all(x) x.begin(),x.end() #define reg register #define loop while(1) #define debug cout<<"QwQ\n" #define Sort(a) sort(a.begin(), a.end()) void file(string fl) { freopen((fl+".in").c_str(),"r",stdin); freopen((fl+".out").c_str(),"w",stdout); } il ll read() { char ch=gc(); ll s=0,w=1; while(ch<'0'||ch>'9') { if(ch=='-'){w=-1;} ch=gc(); } while(ch>='0'&&ch<='9') { s=(s<<1)+(s<<3)+ch-48; ch=gc(); } return w*s; } il void write(ll x) { if(x<0) { putchar('-'); x=-x; } if(x>9)write(x/10); putchar(x%10+'0'); } ll ksm(ll a,ll b,ll p) { ll ans=1%p; for(;b;b>>=1){ if(b&1) ans=ans*a%p; a=a*a%p; } return ans; } void ios_optimize(){ios::sync_with_stdio(0);cin.tie(0);} ll ls(ll u){return u<<1;} ll rs(ll u){return u<<1|1;} ll myabs(ll x){return x>0?x:-x;} ll mymax(ll x,ll y){return x>y?x:y;} ll mymin(ll x,ll y){return x<y?x:y;} ll lowbit(ll n){return n&-n;} ll gcd(ll x,ll y){return y?gcd(y,x%y):x;} ll lcm(ll x,ll y){return x/gcd(x,y)*y;} ll inv(ll a,ll p){return ksm(a,p-2,p);} void yn(bool f){cout<<(f?"Yes\n":"No\n");} constexpr int N=1e5+9; constexpr int mod1=998244353,mod2=1e9+7; constexpr int inf=1e9; constexpr ll INF=1e18; constexpr double eps=1e-9; ll n,m,q,u[N],v[N],u_[N],v_[N],fa[N],ans[N]; set<pair<int,int> > vis; vector<int> G[N]; void merge(int x,int y,int k){ x=fa[x],y=fa[y]; if(x==y)return; if((x>1&&G[x].size()<G[y].size())||y==1)swap(x,y); for(auto son:G[y]){ fa[son]=x; G[x].pb(son); } if(x==1)for(auto son:G[y])ans[son]=k; G[y].clear(); } int main() { ios_optimize(); int TestCases=1; //cin>>TestCases; while(TestCases--){ cin>>n>>m>>q; up(1,n,i)fa[i]=i,G[i].pb(i); up(1,m,i){ cin>>u[i]>>v[i]; } up(1,q,i){ cin>>u_[i]>>v_[i]; vis.insert({u_[i],v_[i]}); } up(1,m,i){ if(!vis.count({u[i],v[i]}))merge(u[i],v[i],-1); } for(int i=q;i;--i){ merge(u_[i],v_[i],i); } for(int i=2;i<=n;++i)cout<<ans[i]<<'\n'; } return 0; }