求助 代码有点问题
查看原帖
求助 代码有点问题
615029
QWlanren楼主2022/11/20 13:09

void函数里循环中的输出“#”这一行 如果带上这行答案无误 “#”可以替换为其他变量或符号 但如果删去答案就会出现问题 这是为什么? (这个代码会超时我是知道的) (准备改算法但还是想不通这里)

#include<iostream>
using namespace std;
int ans,n,m,x,y,k,b,o;
int l[5001][5001];
void f(int food)
{
	int p;
	for(int i=1;i<=n;i++)
	{
		if(l[food][i]==1)
		{
			cout<<"#"<<endl;
			f(i);
		}
		else
			p++;
	}
	if(p==n)
	{
		ans++;
	}
}
int main(){
	cin>>n>>m;
	for(int i=1;i<=m;i++)
	{
		cin>>x>>y;
		l[x][y]++;
	}
	k=1;
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=n;j++)
		{
			if(l[j][i]==0)
				b++;
			else
				break;
		}
		if(b==n)
		{
			f(i);
		}
		b=0;
	}
	ans=ans%80112002;
	cout<<ans<<endl;
	return 0;
}
2022/11/20 13:09
加载中...