中级光能
WA超时
#include<iostream>
#include<cstring>
#include<cmath>
using namespace std;
bool f[100];
void cf(int x){
while(x){
f[x%10]=true;
x/=10;
}
}
bool check(int a,int b,int c){
memset(f,false,sizeof(f));
cf(a),cf(b),cf(c);
for(int i=1;i<=9;i++)
if(!f[i])
return false;
return true;
}
bool CCC(int a,int b,int c){
int r=(int)sqrt(a);
int m=(int)sqrt(b);
int f=(int)sqrt(c);
if(r*r==a&&m*m==b&&f*f==c)
return true;
return false;
}
int main(){
for(int i=10;i<=99;i++)
for(int j=100;j<=999;j++)
for(int k=1000;k<=9999;k++){
if(check(i,j,k)&&CCC(i,j,k)){
cout<<i<<" "<<j<<" "<<k<<endl;
}
}
return 0;
}