谁帮我看看怎么就RE了呢?

#include<bits/stdc++.h>
using namespace std;
struct point
{
	int a,b;
}a[101];
struct score
{
	int a,b,steps;
	string s;
};
int n,m;
void bfs()
{
	queue<score>q;
	q.push({0,0,0,""});
	while(!q.empty())
	{
		score u=q.front();
		q.pop();
		if(u.a==m&&u.b==m)
		{
			cout<<u.steps<<endl;
			cout<<u.s<<endl;
			return;
		}
		for(int i=1;i<=n;i++)
		{
			int na=u.a+a[i].a,nb=u.b+a[i].b;
			if(na>m||nb>m)continue;
			q.push({na,nb,u.steps+1,u.s+to_string(i)+" "});
		}
	}
}
int main()
{
	freopen("hill.in","r",stdin);
	freopen("hill.out","w",stdout);
	cin>>n>>m;
	for(int i=1;i<=n;i++)cin>>a[i].a>>a[i].b;
	bfs();
	return 0;
}

你这不应该CE嘛

这一句CE了啊

  1. 分号没打
  2. steps 没有定义,也许是 u.steps

并且还有 freopen,当然没有输出了

等一下,对不起发错代码了。

此题:
image
是文件读写

你是不是要有一个vis数组,要不然队列空间就炸了,就会运行错误,所以准确来说你是TLE

身为一个傻*,呃,它题目里不是可以多次用吗?
image