无语的MLE

题目
#include<bits/stdc++.h>
using namespace std;
int k,m,t;
bool f=false;
int nnum[100001];
queue que;
void bfs();
int main(){
cin>>t;
for(int i=1;i<=t;i++){
memset(nnum,0,sizeof nnum);
f=false;
cin>>k>>m;
for(int i=1;i<=k;i++){
cin>>nnum[i];
}
sort(nnum+1,nnum+k+1);
for(int i=1;i<=k;i++){
que.push(nnum[i]);
}
bfs();

	if(f==false) cout<<"Are you kidding me ?????";
}

return 0;

}
void bfs()
{

while(que.size()){
	long long hd=que.front();
	que.pop();
	if(hd % m == 0){
		f=true;
		cout<<hd;
		return;
	}
	for(int i=1;i<=k;i++){
		long long num=hd*100+nnum[i];
		que.push(num);
	}
}

}
样例对了一半,我知道另一个是错的,但是改了直接TLE了

猜您想搜:剪枝

1 个赞