[求调 玄关][P1640]一些疑问
  • 板块灌水区
  • 楼主AKorz
  • 当前回复2
  • 已保存回复2
  • 发布时间2024/9/30 17:15
  • 上次更新2024/9/30 20:20:52
查看原帖
[求调 玄关][P1640]一些疑问
716602
AKorz楼主2024/9/30 17:15
#include<bits/stdc++.h>
using namespace std;
#define N 1000009
int n,u,v,ans,cur[N],vis[N];
vector<int>dis[N];
bool dfs(int x,int t)
{
	for(int i=0;i<dis[x].size();i++)
	{
		int to=dis[x][i];
		if(vis[to]==t) continue;
		vis[to]=t;
		if(!cur[to]||dfs(to,t))
		{
			cur[to]=x;
			return true;
		}
	}
	return false;
}
int main()
{
	scanf("%d",&n),ans=0;
	for(int i=1;i<=n;i++)
	{
		scanf("%d%d",&u,&v);
		dis[u].push_back(i);
		dis[v].push_back(i);	
	}
	memset(cur,0,sizeof(cur));
	memset(vis,-1,sizeof(vis));
	for(int i=1;i<=N;i++)
	{
		if(dfs(i,i)) ans++;
		else break;
	}
	printf("%d\n",ans);
	return 0;
}

首先,WA,70pts,Sub 1 #2 #3 #8。 其次,为什么要开到1000000?题目不是说属性值[1,10000]吗?

2024/9/30 17:15
加载中...