算法竞赛入门经典
p32
习题2-10
#include
#include
#include
using namespace std;
vector v;
void add2v(int k);
int main()
{
int cou = 0;
for(inti=123;i<=987/3;i++)
{
int m = i*2;
int n = i*3;
add2v(i);
add2v(m);
add2v(n);
if(v.size()==9)//每个数字恰好使用了一次
{
cout<<"第"<<++cou<<"组"<<endl;
cout<<i<<" "<<m<<" "<<n<<endl;
}
v.clear();
}
return 0;
}
void add2v(int k)
{
vector::iteratorfirst,last,result;
for(inti=0;i<3;i++)
{
first = v.begin();
last = v.end();
result = find(first,last,k);
if(result=last&&k!=0)//排除0
{
v.push_back(k);
k=k/10;
}
}
}