比赛 东方版NOIP模拟赛 评测结果 AAATTTTATTAAAAEEEEEE
题目名称 Yuyuko 最终得分 40
用户昵称 Eugene 运行时间 21.188 s
代码语言 C++ 内存使用 95.79 MiB
提交时间 2015-10-28 21:07:44
显示代码纯文本
#include<cstdio>
#include<vector>
using namespace std;
struct motherfucker
{
	int next;
	int next_v;
}t;
vector<motherfucker>p[10000];
int ans=0x7fffffff;
bool vis[10000][10000];
void dfs(int pre,int x,int sum)
{
	int i,next,next_v;
	if(x==1&&pre!=0)
	{
		if(ans>sum)ans=sum;
		return ;
	}
	for(i=0;i<p[x].size();i++)
	{
		next=p[x][i].next;
		next_v=p[x][i].next_v;
		if(!vis[x][next]&&!vis[next][x])
		{
			vis[x][next]=1;
			vis[next][x]=1;
			dfs(x,next,sum+next_v);
			vis[x][next]=0;
			vis[next][x]=0;
		}
	}
}
int main()
{
	freopen("zaw.in","r",stdin);
	freopen("zaw.out","w",stdout);
	int n,m,x,y,v1,v2,i;
	scanf("%d %d",&n,&m);
	for(i=1;i<=m;i++)
	{
		scanf("%d %d %d %d",&x,&y,&v1,&v2);
		t.next=y;
		t.next_v=v1;
		p[x].push_back(t);
		t.next=x;
		t.next_v=v2;
		p[y].push_back(t);
	}
	dfs(0,1,0);
	if(ans==0x7fffffff){printf("-1");return 0;}
	printf("%d",ans);
	return 0;
}