Submission #2297504
Source Code Expand
#include<cstdio> #include<cstring> #include<queue> #include<cstdlib> #include<iostream> #include<cmath> #define MAXM 30010 #define MAXN 510 #define INF 0x3f3f3f3f using namespace std; struct int_Edge { int u,v; int w; double cost; int next; }Edge[MAXM]; int dis[MAXN],head[MAXN],pre[MAXN],cnt_Edge=1,Maxf_S,Maxf_T; inline void Insert_Edge(int u,int v,int w,double cost) { ++cnt_Edge;Edge[cnt_Edge].u=u;Edge[cnt_Edge].v=v;Edge[cnt_Edge].w=w;Edge[cnt_Edge].cost= cost;Edge[cnt_Edge].next=head[u];head[u]=cnt_Edge; ++cnt_Edge;Edge[cnt_Edge].u=v;Edge[cnt_Edge].v=u;Edge[cnt_Edge].w=0;Edge[cnt_Edge].cost=-cost;Edge[cnt_Edge].next=head[v];head[v]=cnt_Edge; } bool vis[MAXN]; double h[MAXN]; inline bool MCMFSPFA() { static int v; for(int i=1;i<MAXN;i++) h[i]=1e9+7; memset(pre,-1,sizeof(pre)); h[Maxf_S]=0; queue<int>q; q.push(Maxf_S); while(!q.empty()) { int u=q.front();q.pop(); vis[u]=false; for(register int i=head[u];i;i=Edge[i].next) { v=Edge[i].v; if((h[v]>h[u]+Edge[i].cost)&&Edge[i].w>0) { h[v]=h[u]+Edge[i].cost; pre[v]=i; if(!vis[v]) { vis[v]=true; q.push(v); } } } } // for(int i=1;i<=T;i++) // cout<<h[Maxf_S]<<" "<<h[Maxf_T]<<endl; // cout<<pre[Maxf_T]<<endl; return pre[Maxf_T]!=-1; } int MAX_FLOW=0; double MIN_COST=0.0000000; inline void MCMF() { while(MCMFSPFA()) { int delt=0x3f3f3f3f; double coss=0; for(register int i=Maxf_T;i!=Maxf_S;i=Edge[pre[i]].u) delt=min(delt,Edge[pre[i]].w); for(register int i=Maxf_T;i!=Maxf_S;i=Edge[pre[i]].u) { Edge[pre[i]].w-=delt; Edge[pre[i]^1].w+=delt; coss+=Edge[pre[i]].cost; } MAX_FLOW+=delt; MIN_COST+=(coss*delt); } } double x[200],y[200]; int main() { int n; scanf("%d",&n); int SS=n*2+1,TT=n*2+2,oo=n*2+3,TTT=n*3+4; for(int i=1;i<=n;i++) scanf("%lf%lf",&x[i],&y[i]); for(int i=1;i<=n;i++) { if(x[i]<0.0000000) { Insert_Edge(SS,i,1,0.0000000); Insert_Edge(oo,i,1,-x[i]); } else { Insert_Edge(i+n,TT,1,0.0000000); Insert_Edge(oo,i,1,x[i]); } Insert_Edge(i,i+n,1,0.0000000); } Insert_Edge(SS,oo,0x3f3f3f3f,0.0000000); for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { if(i==j)continue; if(x[i]<0&&x[j]>0) Insert_Edge(i+n,j,1,sqrt((x[i]+x[j])*(x[i]+x[j])+(y[i]-y[j])*(y[i]-y[j]))); } } Insert_Edge(TT,TTT,n,0.0000000); Maxf_S=SS; Maxf_T=TTT; MCMF(); printf("%.7f",MIN_COST); return 0; }
Submission Info
Submission Time | |
---|---|
Task | B - 玉座の間 |
User | luogu_bot2 |
Language | C++ (GCC 5.4.1) |
Score | 0 |
Code Size | 2523 Byte |
Status | WA |
Exec Time | 6 ms |
Memory | 384 KB |
Compile Error
./Main.cpp: In function ‘int main()’: ./Main.cpp:84:16: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%d",&n); ^ ./Main.cpp:87:30: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%lf%lf",&x[i],&y[i]); ^
Judge Result
Set Name | Subtask1 | Subtask2 | Subtask3 | Subtask4 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 50 | 0 / 50 | 0 / 50 | 0 / 50 | ||||||||||||||||
Status |
|
|
|
|
Set Name | Test Cases |
---|---|
Subtask1 | 11_rand00.txt, 11_rand01.txt, 11_rand02.txt, 11_rand03.txt, 11_rand04.txt, 11_rand05.txt, 11_rand06.txt, 11_rand07.txt, 11_rand08.txt, 11_rand09.txt, 11_rand10.txt, 11_rand11.txt, 11_rand12.txt, 11_rand13.txt, 11_rand14.txt, 11_rand15.txt, 11_rand16.txt, 11_rand17.txt, 11_rand18.txt, 11_rand19.txt, 11_rand20.txt, 11_rand21.txt, 11_rand22.txt, 11_rand23.txt, 11_rand24.txt |
Subtask2 | 11_rand00.txt, 11_rand01.txt, 11_rand02.txt, 11_rand03.txt, 11_rand04.txt, 11_rand05.txt, 11_rand06.txt, 11_rand07.txt, 11_rand08.txt, 11_rand09.txt, 11_rand10.txt, 11_rand11.txt, 11_rand12.txt, 11_rand13.txt, 11_rand14.txt, 11_rand15.txt, 11_rand16.txt, 11_rand17.txt, 11_rand18.txt, 11_rand19.txt, 11_rand20.txt, 11_rand21.txt, 11_rand22.txt, 11_rand23.txt, 11_rand24.txt, 21_rand00.txt, 21_rand01.txt, 21_rand02.txt, 21_rand03.txt, 21_rand04.txt, 21_rand05.txt, 21_rand06.txt, 21_rand07.txt, 21_rand08.txt, 21_rand09.txt, 21_rand10.txt, 21_rand11.txt, 21_rand12.txt, 21_rand13.txt, 21_rand14.txt, 21_rand15.txt, 21_rand16.txt, 21_rand17.txt, 21_rand18.txt, 21_rand19.txt, 21_rand20.txt, 21_rand21.txt, 21_rand22.txt, 21_rand23.txt, 21_rand24.txt |
Subtask3 | 11_rand00.txt, 11_rand01.txt, 11_rand02.txt, 11_rand03.txt, 11_rand04.txt, 11_rand05.txt, 11_rand06.txt, 11_rand07.txt, 11_rand08.txt, 11_rand09.txt, 11_rand10.txt, 11_rand11.txt, 11_rand12.txt, 11_rand13.txt, 11_rand14.txt, 11_rand15.txt, 11_rand16.txt, 11_rand17.txt, 11_rand18.txt, 11_rand19.txt, 11_rand20.txt, 11_rand21.txt, 11_rand22.txt, 11_rand23.txt, 11_rand24.txt, 21_rand00.txt, 21_rand01.txt, 21_rand02.txt, 21_rand03.txt, 21_rand04.txt, 21_rand05.txt, 21_rand06.txt, 21_rand07.txt, 21_rand08.txt, 21_rand09.txt, 21_rand10.txt, 21_rand11.txt, 21_rand12.txt, 21_rand13.txt, 21_rand14.txt, 21_rand15.txt, 21_rand16.txt, 21_rand17.txt, 21_rand18.txt, 21_rand19.txt, 21_rand20.txt, 21_rand21.txt, 21_rand22.txt, 21_rand23.txt, 21_rand24.txt, 31_rand00.txt, 31_rand01.txt, 31_rand02.txt, 31_rand03.txt, 31_rand04.txt, 31_rand05.txt, 31_rand06.txt, 31_rand07.txt, 31_rand08.txt, 31_rand09.txt, 31_rand10.txt, 31_rand11.txt, 31_rand12.txt, 31_rand13.txt, 31_rand14.txt, 31_rand15.txt, 31_rand16.txt, 31_rand17.txt, 31_rand18.txt, 31_rand19.txt, 31_rand20.txt, 31_rand21.txt, 31_rand22.txt, 31_rand23.txt, 31_rand24.txt |
Subtask4 | 11_rand00.txt, 11_rand01.txt, 11_rand02.txt, 11_rand03.txt, 11_rand04.txt, 11_rand05.txt, 11_rand06.txt, 11_rand07.txt, 11_rand08.txt, 11_rand09.txt, 11_rand10.txt, 11_rand11.txt, 11_rand12.txt, 11_rand13.txt, 11_rand14.txt, 11_rand15.txt, 11_rand16.txt, 11_rand17.txt, 11_rand18.txt, 11_rand19.txt, 11_rand20.txt, 11_rand21.txt, 11_rand22.txt, 11_rand23.txt, 11_rand24.txt, 21_rand00.txt, 21_rand01.txt, 21_rand02.txt, 21_rand03.txt, 21_rand04.txt, 21_rand05.txt, 21_rand06.txt, 21_rand07.txt, 21_rand08.txt, 21_rand09.txt, 21_rand10.txt, 21_rand11.txt, 21_rand12.txt, 21_rand13.txt, 21_rand14.txt, 21_rand15.txt, 21_rand16.txt, 21_rand17.txt, 21_rand18.txt, 21_rand19.txt, 21_rand20.txt, 21_rand21.txt, 21_rand22.txt, 21_rand23.txt, 21_rand24.txt, 31_rand00.txt, 31_rand01.txt, 31_rand02.txt, 31_rand03.txt, 31_rand04.txt, 31_rand05.txt, 31_rand06.txt, 31_rand07.txt, 31_rand08.txt, 31_rand09.txt, 31_rand10.txt, 31_rand11.txt, 31_rand12.txt, 31_rand13.txt, 31_rand14.txt, 31_rand15.txt, 31_rand16.txt, 31_rand17.txt, 31_rand18.txt, 31_rand19.txt, 31_rand20.txt, 31_rand21.txt, 31_rand22.txt, 31_rand23.txt, 31_rand24.txt, 41_rand00.txt, 41_rand01.txt, 41_rand02.txt, 41_rand03.txt, 41_rand04.txt, 41_rand05.txt, 41_rand06.txt, 41_rand07.txt, 41_rand08.txt, 41_rand09.txt, 41_rand10.txt, 41_rand11.txt, 41_rand12.txt, 41_rand13.txt, 41_rand14.txt, 41_rand15.txt, 41_rand16.txt, 41_rand17.txt, 41_rand18.txt, 41_rand19.txt, 41_rand20.txt, 41_rand21.txt, 41_rand22.txt, 41_rand23.txt, 41_rand24.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
11_rand00.txt | WA | 1 ms | 256 KB |
11_rand01.txt | AC | 1 ms | 256 KB |
11_rand02.txt | AC | 1 ms | 256 KB |
11_rand03.txt | WA | 1 ms | 256 KB |
11_rand04.txt | AC | 1 ms | 256 KB |
11_rand05.txt | WA | 1 ms | 256 KB |
11_rand06.txt | AC | 1 ms | 256 KB |
11_rand07.txt | AC | 3 ms | 384 KB |
11_rand08.txt | WA | 1 ms | 256 KB |
11_rand09.txt | AC | 1 ms | 256 KB |
11_rand10.txt | AC | 1 ms | 256 KB |
11_rand11.txt | AC | 1 ms | 256 KB |
11_rand12.txt | WA | 1 ms | 256 KB |
11_rand13.txt | WA | 1 ms | 256 KB |
11_rand14.txt | WA | 1 ms | 256 KB |
11_rand15.txt | AC | 1 ms | 256 KB |
11_rand16.txt | WA | 1 ms | 256 KB |
11_rand17.txt | WA | 1 ms | 256 KB |
11_rand18.txt | WA | 1 ms | 256 KB |
11_rand19.txt | WA | 1 ms | 256 KB |
11_rand20.txt | WA | 1 ms | 256 KB |
11_rand21.txt | AC | 1 ms | 256 KB |
11_rand22.txt | AC | 1 ms | 256 KB |
11_rand23.txt | AC | 1 ms | 256 KB |
11_rand24.txt | AC | 1 ms | 256 KB |
21_rand00.txt | AC | 1 ms | 256 KB |
21_rand01.txt | WA | 1 ms | 256 KB |
21_rand02.txt | WA | 1 ms | 256 KB |
21_rand03.txt | WA | 1 ms | 256 KB |
21_rand04.txt | WA | 1 ms | 256 KB |
21_rand05.txt | WA | 1 ms | 256 KB |
21_rand06.txt | WA | 1 ms | 256 KB |
21_rand07.txt | WA | 1 ms | 256 KB |
21_rand08.txt | WA | 1 ms | 256 KB |
21_rand09.txt | AC | 1 ms | 256 KB |
21_rand10.txt | WA | 1 ms | 256 KB |
21_rand11.txt | WA | 1 ms | 256 KB |
21_rand12.txt | WA | 1 ms | 256 KB |
21_rand13.txt | WA | 1 ms | 256 KB |
21_rand14.txt | WA | 1 ms | 256 KB |
21_rand15.txt | WA | 1 ms | 256 KB |
21_rand16.txt | WA | 1 ms | 256 KB |
21_rand17.txt | WA | 1 ms | 256 KB |
21_rand18.txt | WA | 1 ms | 256 KB |
21_rand19.txt | AC | 1 ms | 256 KB |
21_rand20.txt | WA | 1 ms | 256 KB |
21_rand21.txt | WA | 1 ms | 256 KB |
21_rand22.txt | AC | 1 ms | 256 KB |
21_rand23.txt | AC | 1 ms | 256 KB |
21_rand24.txt | AC | 1 ms | 256 KB |
31_rand00.txt | AC | 1 ms | 256 KB |
31_rand01.txt | WA | 1 ms | 256 KB |
31_rand02.txt | AC | 1 ms | 256 KB |
31_rand03.txt | WA | 1 ms | 256 KB |
31_rand04.txt | WA | 1 ms | 256 KB |
31_rand05.txt | WA | 1 ms | 256 KB |
31_rand06.txt | WA | 1 ms | 256 KB |
31_rand07.txt | WA | 1 ms | 256 KB |
31_rand08.txt | WA | 1 ms | 256 KB |
31_rand09.txt | WA | 1 ms | 256 KB |
31_rand10.txt | WA | 1 ms | 256 KB |
31_rand11.txt | WA | 1 ms | 256 KB |
31_rand12.txt | WA | 1 ms | 256 KB |
31_rand13.txt | WA | 1 ms | 256 KB |
31_rand14.txt | AC | 1 ms | 256 KB |
31_rand15.txt | WA | 1 ms | 256 KB |
31_rand16.txt | AC | 1 ms | 256 KB |
31_rand17.txt | WA | 1 ms | 256 KB |
31_rand18.txt | WA | 1 ms | 256 KB |
31_rand19.txt | WA | 1 ms | 256 KB |
31_rand20.txt | WA | 1 ms | 256 KB |
31_rand21.txt | WA | 1 ms | 256 KB |
31_rand22.txt | WA | 1 ms | 256 KB |
31_rand23.txt | WA | 1 ms | 256 KB |
31_rand24.txt | WA | 1 ms | 256 KB |
41_rand00.txt | AC | 1 ms | 256 KB |
41_rand01.txt | AC | 1 ms | 256 KB |
41_rand02.txt | WA | 2 ms | 256 KB |
41_rand03.txt | WA | 2 ms | 384 KB |
41_rand04.txt | WA | 2 ms | 384 KB |
41_rand05.txt | WA | 1 ms | 256 KB |
41_rand06.txt | WA | 1 ms | 256 KB |
41_rand07.txt | WA | 3 ms | 384 KB |
41_rand08.txt | WA | 1 ms | 256 KB |
41_rand09.txt | WA | 1 ms | 256 KB |
41_rand10.txt | AC | 1 ms | 256 KB |
41_rand11.txt | WA | 2 ms | 384 KB |
41_rand12.txt | WA | 3 ms | 384 KB |
41_rand13.txt | WA | 1 ms | 256 KB |
41_rand14.txt | WA | 2 ms | 256 KB |
41_rand15.txt | WA | 1 ms | 256 KB |
41_rand16.txt | WA | 1 ms | 256 KB |
41_rand17.txt | WA | 2 ms | 384 KB |
41_rand18.txt | WA | 6 ms | 384 KB |
41_rand19.txt | WA | 5 ms | 384 KB |
41_rand20.txt | WA | 2 ms | 256 KB |
41_rand21.txt | WA | 1 ms | 256 KB |
41_rand22.txt | AC | 2 ms | 256 KB |
41_rand23.txt | WA | 3 ms | 384 KB |
41_rand24.txt | WA | 2 ms | 384 KB |