题解 UVA1569 【Multiple】
NuclearBaseACE · · 题解
本题广搜+优先队列 没得说 看了看这题竟然才两个提交,才想写个这玩意,不然我写的题解一定不会被通过 直接上代码、
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cmath>
#include<cstring>
#include<string>
#include<algorithm>
#include<climits>
#include<cfloat>
#include<queue>
using namespace std;
long long r,n,m,rs,ms[5000];
priority_queue<int,vector<int>,greater<int> >q;
void bfs()
{
for(int i = 1;i <= m;i++)
{
q.push(ms[i]);
}
while(!q.empty())
{
int now=q.top();
q.pop();
if(now==0)
continue;
if(now%n==0)
{cout<<now<<endl;return;}
int td;
for(int i = 1;i <= m;i++)
{
td=now*10+ms[i];
if(td%n==0)
{cout<<td<<endl;return;}
q.push(td);
}
}
}
int main()
{
while(cin>>n>>m)
{
for(int i = 1;i <= m;i++)
{
cin>>ms[i];
}
bfs();
}
return 0;
}