为什么这只得了10分???(湖关)
查看原帖
为什么这只得了10分???(湖关)
1061339
Tracy_Loght楼主2023/10/5 15:17
#include<bits/stdc++.h>
using namespace std;
long long n,m,k[100000],w[100000],jl=1,a[100000];
long long j[100000];
int main()
{
	cin>>n>>m;
	if(m<=1)
	{	
	jl=1;
	for(int i=1;i<=n;i++)
	{
		cin>>w[i];
		if(w[i]!=0)
			jl=jl*w[i];
		for(int o=1;o<=w[i];o++)
			cin>>a[o];
	}
	long long ans=0,num=0;
	k[1]=jl;
	for(int i=1;i<=n;i++)
	{
		if(w[i]==0)
		{
			ans++;
			j[ans]=i;
		}
		else
		{
			num=k[i]/w[i];
			for(int o=1;o<=w[i];o++)
				k[a[o]]=k[a[o]]+num;
			k[i]==0;
		}	
	}
	long long jkl=0;
	for(int i=1;i<=ans;i++)//k[j[i]]
	{
		long long hjk=jl;
		for(int o=2;o<=jl;o=o+1-jkl)
		{
			if(hjk%o==0&&k[j[i]]%o==0)
			{
				jkl=1;
				hjk=hjk/o;
				k[j[i]]=k[j[i]]/o;
			}
			else
				jkl=0;		
		}	
		cout<<k[j[i]]<<" "<<hjk<<endl;	
	}
	return 0;
	}
	else
	{
		return 0;
	}
	return 0;
}
2023/10/5 15:17
加载中...