牛客春招刷题训练营 - 2025.5.26 题解

活动地址:牛客春招刷题训练营 - 编程打卡活动

Easy 小红的矩阵

简要题意

数矩阵中个位数是 的数的个数。

Solution

遍历考察 即可。

Code

void R()
{
	int n,m,ans=0;
	cin>>n>>m;
	for (int i=0;i<n;i++)
		for (int j=0;j<m;j++)
		{
			int x;
			cin>>x;
			ans+=(x%10==9);
		}
	cout<<ans;
	return;
}

Medium 游游的最小公倍数

简要题意

的条件下的

Solution

显然要尽量让 靠近 ,并且若 ,则 更大的 对不可能产生更大的

Code

i128 gcd(i128 a,i128 b)
{
	return b?gcd(b,a%b):a;
}

void R()
{
	i64 n,ansa=1,ansb=1;
	cin>>n;
	i128 a=n/2,b=n-a;
	for (;;a--,b++)
	{
		if (a*b/gcd(a,b)>ansa*ansb/gcd(ansa,ansb))
			ansa=a,ansb=b;
		if (gcd(a,b)==1) break;
	}
	cout<<ansa<<' '<<ansb<<'\n';
	return;
}

Hard 【模板】单源最短路Ⅰ ‖ 无权图

简要题意

给定一张有向无权图,求单源最短路。

Solution

BFS 即可。

Code

void R()
{
	int n,m,s;
	cin>>n>>m>>s;
	s--;
	vector<int> d(n,-1);
	vector<vector<int>> adj(n);
	while (m--)
	{
		int u,v;
		cin>>u>>v;
		u--,v--;
		adj[u].push_back(v);
	}

	queue<int> q;
	d[s]=0;
	q.push(s);
	while (!q.empty())
	{
		int u=q.front();
		q.pop();
		for (int v:adj[u])
			if (d[v]==-1)
			{
				d[v]=d[u]+1;
				q.push(v);
			}
	}
	for (int i=0;i<n;i++)
		cout<<d[i]<<" \n"[i+1==n];
	return;
}
#牛客春招刷题训练营#
全部评论

相关推荐

强大的马里奥:不太可能,我校计算机硕士就业率99%
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务