出门自挂东南枝
查看原帖
出门自挂东南枝
773747
yutong_Seafloor楼主2023/11/6 18:48

50f,蒟蒻不知道哪里错了

#include<bits/stdc++.h>
using namespace std;
int s,pxh[100010],ss,sum,n,k,qw,i,j,ans,we;
bool wz[100010];
void sf(int qwq)
{
	if(!qwq || wz[qwq])
	{
		if(qwq==we) ++ans;
		return ;
	}
	wz[qwq]=true;
	++ans;
	sf(pxh[qwq]);
} 
int main()
{
	cin>>n>>k;
	for(i=1;i<=k;i++)
	{
		cin>>ss;
		for(j=1;j<=ss;j++)
		{
			cin>>s;
			pxh[++sum]=s;
			if(s==sum) wz[sum]==true;//正确的 
		}
	}
	for(i=1;i<=sum;i++)
	if(!wz[i])//当前位置不正确
	{
		we=qw=pxh[i];
		sf(qw);
	}
	if(ans) cout<<"We need "<<ans<<" move operations.";
	else cout<<"No optimization needed.";
	return 0; 
}
2023/11/6 18:48
加载中...