#26测试点错误
  • 板块CF659E New Reform
  • 楼主_Fxlt_
  • 当前回复2
  • 已保存回复2
  • 发布时间2022/10/16 16:17
  • 上次更新2023/10/27 07:15:11
查看原帖
#26测试点错误
541522
_Fxlt_楼主2022/10/16 16:17
#include<iostream>
#include<vector>
using namespace std;
int n,m;
struct node
{
	vector<int> to;
	bool isgoout;
	node(){isgoout = false;}
};
node nodes[100005];
bool havehuan(int form,int xnode)
{
	bool ans = false;
	int x = 0;
	while(x < nodes[xnode].to.size())
	{
		if(!nodes[nodes[xnode].to[x]].isgoout)
		{
			nodes[nodes[xnode].to[x]].isgoout = true;
			ans = (ans || havehuan(xnode,nodes[xnode].to[x]));
		}
		else if(!nodes[xnode].to[x] == form)
		{
			ans = true;
		}
		else
		{
			nodes[xnode].to.erase(nodes[xnode].to.begin() + x);
			x--;
		}
		x++;
	}
	return ans;
}
int main()
{
	cin >> n >> m;
	for(int i = 1;i <= m;i++)
	{
		int a,b;
		cin >> a >> b;
		nodes[a].to.push_back(b);
		nodes[b].to.push_back(a);
	}
	int ans = 0;
	for(int i = 1;i <= n;i++)
	{
		if(!nodes[i].isgoout)
		{
			nodes[i].isgoout = true;
			if(!havehuan(0,i))
			{
				ans++;
			}
		}
	}
	cout << ans;
	return 0;
}

为什么错了?" #26测试点

2022/10/16 16:17
加载中...