0
已解决
#include<iostream>
#include<algorithm>
#include<string>
using namespace std;
int n,t,x[1000500];
int a[11]={0,1,2,6,24,120,720,5040,40320,362880},c;
int main(){
for(int i1=1;i1<=9;i1++){
int s=0;
s+=a[i1];
x[s]++;
for(int i2=2;i2<=9;i2++){
s+=a[i2];
x[s]++;
for(int i3=3;i3<=9;i3++){
s+=a[i3];
x[s]++;
for(int i4=4;i4<=9;i4++){
s+=a[i4];
x[s]++;
for(int i5=5;i5<=9;i5++){
s+=a[i5];
x[s]++;
for(int i6=6;i6<=9;i6++){
s+=a[i6];
x[s]++;
for(int i7=7;i7<=9;i7++){
s+=a[i7];
x[s]++;
for(int i8=8;i8<=9;i8++){
s+=a[i8];
x[s]++;
for(int i9=9;i9<=9;i9++){
s+=a[i9];
x[s]++;
}
}
}
}
}
}
}
}
}
cin>>n;
for(int i=1;i<=n;i++){
cin>>t;
if(x[t]>0)
cout<<"YES";
else
cout<<"NO";
cout<<endl;
}
return 0;
}
可以找错,也可以提供新思路
