洛谷c++习题 P1008三连击
#include<iostream>
using namespace std;
int main(){
int a[1000],i,j,k,b1[206],b2[206],b3[206],b=0;
for(i=0;i<1000;i++){
a[i]=i;
}
for(i=123;i<334;i++){
for(j=246;j<667;j++){
for(k=369;k<987;k++){
if(2*a[i]==a[j]&&3*a[i]==a[k]){
b1[b]=a[i];
b2[b]=a[j];
b3[b]=a[k];
b++;
}
}
}
}
int d[9],n,flag[36],f,l;
for(i=0;i<206;i++){
d[0]=b1[i]/100;
d[1]=b1[i]%100/10;
d[2]=b1[i]%10;
d[3]=b2[i]/100;
d[4]=b2[i]%100/10;
d[5]=b2[i]%10;
d[6]=b3[i]/100;
d[7]=b3[i]%100/10;
d[8]=b3[i]%10;
f=0;
for(k=0;k<8;k++){
for(j=k+1;j<9;j++){
if(d[k]==d[j]||d[j]==0){
flag[f]=0;
}else{
flag[f]=1;
}
f++;
}
}
l=0;
for(k=0;k<36;k++){
l=l+flag[k];
}
if(l==36){
cout<<b1[i]<<' '<<b2[i]<<' '<<b3[i]<<endl;
}
}
}