Submission #3712511
Source Code Expand
//test https://blog.csdn.net/rising_shit/article/details/80739593 #include<iostream> #include<stdio.h> #include<string.h> #include<algorithm> #define maxn 2005 #define _x1 x1 #define _x2 x2 using namespace std; typedef long long ll; const ll mod=1e9+7; int n,m; ll v; int fa[maxn],id[maxn],x[maxn],y[maxn]; ll w[maxn]; int getfa(int now) { return fa[now]==now ? now : fa[now]=getfa(fa[now]); } int cmp(int i,int j) { return w[i]<w[j]; } ll kruskal(int now) { for(int i=1;i<=n;i++) fa[i]=i; ll ans=0; if(now) fa[x[now]]=y[now],ans+=w[now]; for(int i=1;i<=m;i++) { int pos=id[i]; int x1=getfa(x[pos]),y1=getfa(y[pos]); if(x1!=y1) { ans+=w[pos]; fa[x1]=y1; } } return ans; } ll quickpow(ll p,ll k) { ll ans=1; while(k) { if(k&1) ans=(ans*p)%mod; p=(p*p)%mod; k>>=1; } return ans; } int main() { scanf("%d%d%lld",&n,&m,&v); for(int i=1;i<=m;i++) scanf("%d%d%lld",&x[i],&y[i],&w[i]),id[i]=i; sort(id+1,id+1+m,cmp); ll temp=kruskal(0); if(temp>v) return printf("0\n"),0; if(temp==v) { int cnt1=0,cnt2=0; for(int i=1;i<=m;i++) { if(kruskal(i)==temp) cnt1++; else cnt2++; } ll res1=(quickpow(2,cnt1)-2+mod)%mod; ll res2=quickpow(2,cnt2)%mod; return printf("%lld\n",res1*res2%mod),0; } else { int cnt1=0,cnt2=0; for(int i=1;i<=m;i++) { ll res1=kruskal(i); if(res1==v) cnt1++; else if(res1>v) cnt2++; } ll res1=2ll*((quickpow(2,cnt1)-1+mod)%mod)%mod; ll res2=quickpow(2,cnt2); printf("%lld\n",res1*res2%mod); } }
Submission Info
Submission Time | |
---|---|
Task | E - Bichrome Spanning Tree |
User | Trestrals |
Language | C++14 (GCC 5.4.1) |
Score | 900 |
Code Size | 1618 Byte |
Status | AC |
Exec Time | 72 ms |
Memory | 256 KB |
Compile Error
./Main.cpp: In function ‘int main()’: ./Main.cpp:56:28: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%d%d%lld",&n,&m,&v); ^ ./Main.cpp:58:46: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%d%d%lld",&x[i],&y[i],&w[i]),id[i]=i; ^
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 900 / 900 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | sample-01.txt, sample-02.txt, sample-03.txt, sample-04.txt |
All | 01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt, 11.txt, 12.txt, 13.txt, 14.txt, 15.txt, 16.txt, 17.txt, 18.txt, 19.txt, 20.txt, 21.txt, 22.txt, 23.txt, 24.txt, 25.txt, 26.txt, 27.txt, 28.txt, 29.txt, 30.txt, 31.txt, 32.txt, 33.txt, 34.txt, 35.txt, 36.txt, 37.txt, 38.txt, 39.txt, 40.txt, 41.txt, 42.txt, 43.txt, 44.txt, 45.txt, 46.txt, 47.txt, 48.txt, sample-01.txt, sample-02.txt, sample-03.txt, sample-04.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
01.txt | AC | 54 ms | 256 KB |
02.txt | AC | 63 ms | 256 KB |
03.txt | AC | 48 ms | 256 KB |
04.txt | AC | 45 ms | 256 KB |
05.txt | AC | 41 ms | 256 KB |
06.txt | AC | 54 ms | 256 KB |
07.txt | AC | 45 ms | 256 KB |
08.txt | AC | 68 ms | 256 KB |
09.txt | AC | 56 ms | 256 KB |
10.txt | AC | 41 ms | 256 KB |
11.txt | AC | 56 ms | 256 KB |
12.txt | AC | 7 ms | 256 KB |
13.txt | AC | 7 ms | 256 KB |
14.txt | AC | 9 ms | 256 KB |
15.txt | AC | 72 ms | 256 KB |
16.txt | AC | 2 ms | 256 KB |
17.txt | AC | 57 ms | 256 KB |
18.txt | AC | 2 ms | 256 KB |
19.txt | AC | 41 ms | 256 KB |
20.txt | AC | 2 ms | 256 KB |
21.txt | AC | 55 ms | 256 KB |
22.txt | AC | 40 ms | 256 KB |
23.txt | AC | 45 ms | 256 KB |
24.txt | AC | 7 ms | 256 KB |
25.txt | AC | 7 ms | 256 KB |
26.txt | AC | 52 ms | 256 KB |
27.txt | AC | 57 ms | 256 KB |
28.txt | AC | 50 ms | 256 KB |
29.txt | AC | 45 ms | 256 KB |
30.txt | AC | 53 ms | 256 KB |
31.txt | AC | 45 ms | 256 KB |
32.txt | AC | 48 ms | 256 KB |
33.txt | AC | 47 ms | 256 KB |
34.txt | AC | 40 ms | 256 KB |
35.txt | AC | 27 ms | 256 KB |
36.txt | AC | 27 ms | 256 KB |
37.txt | AC | 28 ms | 256 KB |
38.txt | AC | 58 ms | 256 KB |
39.txt | AC | 47 ms | 256 KB |
40.txt | AC | 45 ms | 256 KB |
41.txt | AC | 62 ms | 256 KB |
42.txt | AC | 20 ms | 256 KB |
43.txt | AC | 9 ms | 256 KB |
44.txt | AC | 2 ms | 256 KB |
45.txt | AC | 13 ms | 256 KB |
46.txt | AC | 22 ms | 256 KB |
47.txt | AC | 8 ms | 256 KB |
48.txt | AC | 11 ms | 256 KB |
sample-01.txt | AC | 1 ms | 256 KB |
sample-02.txt | AC | 1 ms | 256 KB |
sample-03.txt | AC | 1 ms | 256 KB |
sample-04.txt | AC | 1 ms | 256 KB |