求助这段代码报错是为什么?POJ交不了
查看原帖
求助这段代码报错是为什么?POJ交不了
226167
呆呆的她啊楼主2024/7/26 16:10
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
const int range=3e3+10;
int n;
vector<int>e[range];
char x;
int dp[range][10]; 
void dfs(int u,int fa)
{
	dp[u][0]=1;
	dp[u][1]=0;
	for(int v:e[u])
	{	
		if(v==fa)continue;
		dfs(v,u);
		dp[u][0]+=min(dp[v][1],dp[v][0]);
		dp[u][1]+=dp[v][0];
	}	
}
void solve()
{
	int maxn=0;
	for(int i=1;i<=n;i++)
	{
		int u;
		cin>>u;
		cin>>x;cin>>x;int w;cin>>w;
		cin>>x;
		if(w>maxn){
			maxn=u;
		}
		for(int j=1;j<=w;j++)
		{
			int v;cin>>v;
			e[u].push_back(v);e[v].push_back(u);
		}
	}
	dfs(maxn,-1);
	cout<<min(dp[maxn][0],dp[maxn][1])<<endl;
	for(int i=0;i<=n-1;i++)
	{
		e[i].clear();
		dp[i][0]=0;dp[i][1]=0;
	}
}
int main()
{
	ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	while(cin>>n)
	{
	solve();
	}	
	return 0;
} 
2024/7/26 16:10
加载中...