1 条题解

  • 0
    @ 2026-1-15 10:15:27
    #include<bits/stdc++.h>
    
    using namespace std;
    
    int num[10];
    
    int main(){
    	for(int i=1;i<=9;i++)
    		for(int j=1;j<=9;j++)
    			for(int k=1;k<=9;k++){
    				int x1=i*100+j*10+k;
    				int x2=x1*2;int x3=x1*3;
    				if(x3>=1000)continue;	//必须是三位数 
    				memset(num,0,sizeof(num));	//清空计数器 
    				num[i]++;num[j]++;num[k]++;	//统计数位 
    				num[x2%10]++;num[x2/10%10]++;num[x2/100]++;
    				num[x3%10]++;num[x3/10%10]++;num[x3/100]++;
    				if(num[0])continue;	//不应该有0
    				int flag=0;
    				for(int t=1;t<=9;t++)if(num[t]!=1)flag=1;
    				if(flag)continue;
    				cout<<x1<<' '<<x2<<' '<<x3<<'\n';
    			}
    	
    	return 0;
    }
    
    • 1

    信息

    ID
    8
    时间
    1000ms
    内存
    64MiB
    难度
    3
    标签
    递交数
    23
    已通过
    12
    上传者