Submission #2297553


Source Code Expand

#include<cstdio>
#include<cstring>
#include<queue>
#include<cstdlib>
#include<iostream>
#include<cmath>
#define MAXM 30000010
#define MAXN 51000
#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,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++) scanf("%d %d", &x[i], &y[i]);
    int V=n*2+3;
    
    for (int i = 1; i <=n; i++) {
        for (int j = 1; j <=n; j++) {
            if (i == j) {
                Insert_Edge(i, n + j, 1, d(a[i][0], a[i][1], 0, a[i][1]));
            } else {
                add_edge(i, n + j, 1, sqrt((x[i]+x[j])*(x[i]+x[j])+(y[i]-y[j])*(y[i]-y[j])));
            }
        }
    }
    
    for (i = 0; i < n; i++) {
        add_edge(V - 1, i, 1, 0);
        add_edge(n + i, V - 2, 1, 0);
    } 
		*/
//		我的建边 
	for(int i=1;i<=n;i++)
	{
		Insert_Edge(SS,i,1,0.0000000);
		Insert_Edge(i+n,TT,1,0);
		Insert_Edge(i,i+n,1,abs(x[i]));
	}
	for(int i=1;i<=n;i++)
	{
		if(abs(x[i])<0.00000)
			continue;
		for(int j=1;j<=n;j++)
		{
			if(i==j)
				Insert_Edge(i+n,TT,1,abs(x[i]));
			else
				Insert_Edge(i,j+n,1,sqrt((x[i]+x[j])*(x[i]+x[j])+(y[i]-y[j])*(y[i]-y[j]))/2);
		}
	}
	Insert_Edge(TT,TTT,n,0.0000000);
	Maxf_S=SS;
	Maxf_T=TTT;
//	*/
	MCMF();
//	printf("%d\n",MAX_FLOW);
	printf("%.7f",MIN_COST);
	return 0;
}

Submission Info

Submission Time
Task B - 玉座の間
User luogu_bot5
Language C++ (GCC 5.4.1)
Score 50
Code Size 3015 Byte
Status WA
Exec Time 54 ms
Memory 1536 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 50 / 50 0 / 50 0 / 50 0 / 50
Status
AC × 25
AC × 40
WA × 10
AC × 47
WA × 28
AC × 48
WA × 52
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 AC 2 ms 896 KB
11_rand01.txt AC 1 ms 896 KB
11_rand02.txt AC 2 ms 896 KB
11_rand03.txt AC 2 ms 896 KB
11_rand04.txt AC 2 ms 896 KB
11_rand05.txt AC 2 ms 896 KB
11_rand06.txt AC 2 ms 896 KB
11_rand07.txt AC 2 ms 896 KB
11_rand08.txt AC 2 ms 896 KB
11_rand09.txt AC 2 ms 896 KB
11_rand10.txt AC 2 ms 896 KB
11_rand11.txt AC 2 ms 896 KB
11_rand12.txt AC 2 ms 896 KB
11_rand13.txt AC 2 ms 896 KB
11_rand14.txt AC 2 ms 896 KB
11_rand15.txt AC 2 ms 896 KB
11_rand16.txt AC 2 ms 896 KB
11_rand17.txt AC 2 ms 896 KB
11_rand18.txt AC 1 ms 896 KB
11_rand19.txt AC 1 ms 896 KB
11_rand20.txt AC 2 ms 896 KB
11_rand21.txt AC 1 ms 896 KB
11_rand22.txt AC 1 ms 896 KB
11_rand23.txt AC 2 ms 896 KB
11_rand24.txt AC 2 ms 896 KB
21_rand00.txt AC 2 ms 896 KB
21_rand01.txt WA 2 ms 896 KB
21_rand02.txt AC 2 ms 896 KB
21_rand03.txt AC 2 ms 896 KB
21_rand04.txt WA 2 ms 896 KB
21_rand05.txt WA 2 ms 896 KB
21_rand06.txt AC 2 ms 896 KB
21_rand07.txt AC 2 ms 896 KB
21_rand08.txt AC 2 ms 896 KB
21_rand09.txt WA 2 ms 896 KB
21_rand10.txt AC 2 ms 896 KB
21_rand11.txt AC 2 ms 896 KB
21_rand12.txt AC 2 ms 896 KB
21_rand13.txt WA 2 ms 896 KB
21_rand14.txt WA 2 ms 896 KB
21_rand15.txt WA 2 ms 896 KB
21_rand16.txt WA 2 ms 896 KB
21_rand17.txt AC 2 ms 896 KB
21_rand18.txt WA 2 ms 896 KB
21_rand19.txt AC 2 ms 896 KB
21_rand20.txt WA 2 ms 896 KB
21_rand21.txt AC 2 ms 896 KB
21_rand22.txt AC 2 ms 896 KB
21_rand23.txt AC 2 ms 896 KB
21_rand24.txt AC 2 ms 896 KB
31_rand00.txt AC 2 ms 896 KB
31_rand01.txt WA 2 ms 896 KB
31_rand02.txt WA 2 ms 896 KB
31_rand03.txt WA 2 ms 896 KB
31_rand04.txt WA 2 ms 896 KB
31_rand05.txt AC 2 ms 896 KB
31_rand06.txt WA 2 ms 896 KB
31_rand07.txt AC 2 ms 896 KB
31_rand08.txt AC 2 ms 896 KB
31_rand09.txt WA 2 ms 896 KB
31_rand10.txt AC 2 ms 896 KB
31_rand11.txt WA 2 ms 896 KB
31_rand12.txt WA 2 ms 896 KB
31_rand13.txt WA 2 ms 896 KB
31_rand14.txt WA 2 ms 896 KB
31_rand15.txt AC 2 ms 896 KB
31_rand16.txt WA 2 ms 896 KB
31_rand17.txt WA 2 ms 896 KB
31_rand18.txt WA 2 ms 896 KB
31_rand19.txt AC 2 ms 896 KB
31_rand20.txt WA 2 ms 896 KB
31_rand21.txt WA 2 ms 896 KB
31_rand22.txt WA 2 ms 896 KB
31_rand23.txt WA 2 ms 896 KB
31_rand24.txt WA 2 ms 896 KB
41_rand00.txt WA 3 ms 896 KB
41_rand01.txt AC 2 ms 896 KB
41_rand02.txt WA 6 ms 1024 KB
41_rand03.txt WA 9 ms 1024 KB
41_rand04.txt WA 12 ms 1152 KB
41_rand05.txt WA 5 ms 1024 KB
41_rand06.txt WA 5 ms 1024 KB
41_rand07.txt WA 23 ms 1280 KB
41_rand08.txt WA 2 ms 896 KB
41_rand09.txt WA 4 ms 1024 KB
41_rand10.txt WA 2 ms 896 KB
41_rand11.txt WA 14 ms 1152 KB
41_rand12.txt WA 24 ms 1280 KB
41_rand13.txt WA 3 ms 896 KB
41_rand14.txt WA 6 ms 1024 KB
41_rand15.txt WA 2 ms 896 KB
41_rand16.txt WA 2 ms 896 KB
41_rand17.txt WA 10 ms 1152 KB
41_rand18.txt WA 54 ms 1536 KB
41_rand19.txt WA 47 ms 1408 KB
41_rand20.txt WA 6 ms 1024 KB
41_rand21.txt WA 2 ms 896 KB
41_rand22.txt WA 4 ms 1024 KB
41_rand23.txt WA 25 ms 1280 KB
41_rand24.txt WA 12 ms 1152 KB