正经题解
2026-03-01 19:20:12
发布于:上海
0阅读
0回复
0点赞
桶+枚举+特判+数字分离
#include<bits/stdc++.h>
using namespace std;
int main(){
for(int x=1;x<=9;x++){
for(int y=1;y<=9;y++){
for(int z=1;z<=9;z++){
bool flag=true;
if(x==y||x==z||y==z){
flag=false;
}else{
int sum=x*100+y*10+z;
if(sum>333)flag=false;
int t1=sum*2;
int t2=sum*3;
int a[100]={0};//桶数组
a[x]++;
a[y]++;
a[z]++;
a[t1/100]++;
a[(t1%100)/10]++;
a[t1%10]++;
a[t2/100]++;
a[(t2%100)/10]++;
a[t2%10]++;//取位
if(t1/100==0||(t1%100)/10==0||t1%10==0||t2/100==0||(t2%100)/10==0||t2%10==0){//特判
flag=false;
}
for(int i=1;i<=9;i++){
if(a[i]>1)flag=false;
}
}
if(flag==true){
cout<<x*100+y*10+z<<" "<<(x*100+y*10+z)*2<<" "<<(x*100+y*10+z)*3<<endl;
}
}
}
}
return 0;
}
这里空空如也




有帮助,赞一个