4 条题解
-
0
#include<iostream> using namespace std; #include<stdio.h> int a[13]; int init() { a[1]=1; a[2]=2; a[3]=6; int i; for(i=4;i<=13;i++) { a[i]=a[i-1]*i; // a[i-1]+=a[i-2]; } } int juge(int n,int w ) { if(n==0) return 0; int n1=n; int i; for(int i=1;i<w;i++) { if(n>=a[i]&&n<a[i+1]) { if(juge(n-a[i],i)==0) return 0; } } return 1; } int main() { int t; init(); scanf("%d",&t); while(t--) { int n; scanf("%d",&n); if(juge(n,13)==0) { printf("Yes\n"); } else { printf("No\n"); } } }
信息
- ID
- 157
- 时间
- 3000ms
- 内存
- 128MiB
- 难度
- 8
- 标签
- (无)
- 递交数
- 1198
- 已通过
- 200
- 上传者