• poj 1775 简单搜索


    这道题反复做了好多次才ac,可能就是好久不做题的原因,第一次超时,数组开得太太太大了,后来输出错误,忘加!=EOF了,后来一直wa,后来看网上代码,知道自己题目理解错了,首先0的阶乘是1,其次俩个小的数的阶乘不可能大于那个大数的,所以网上有人用dfs,把题目想难了,不过我很欣赏dfs,这道题用dfs好像有点小题大做了,但是可以避免我上述的那种情况,就是假如俩个小数的阶乘大于大数的阶乘,用dfs就完全没有错误,我头开始没想到这么搜索,其次,不是连续的阶乘相加,是随意的

    1 #include <stdio.h>
    2 int main()
    3 {
    4     int a[12];
    5     int i,j,n,f; 6     a[0]=1;
    7     a[1]=1;
    8     for(i=2;i<12;i++)
    9     {
    10         a[i]=i*a[i-1];
    11     }
    12     while(scanf("%d",&n)!=EOF&&n>=0)
    13     {
    14         if(n==0)
    15         {
    16             printf("NO\\n");
    17             continue;
    18         }
    19         for(i=11;i>=0&&n>0;i--)
    20         {
    21             if(n>=a[i])
    22                 n-=a[i];
    23         }
    24         if(n==0)
    25             printf("YES\\n");
    26         else
    27             printf("NO\\n");
    28     }
    29     return 1;
    30 }
    31

    还有博客园怎么这么贴代码了?是不是我这里太卡了?顺便说一句,今天晚上网络不卡了,太好了,后天就比赛了,今天终于拿到学校给的钱了,只有做acm才能使我安心。。。。。。

  • 相关阅读:
    数组的操作方法
    数组遍历的方法以及区别
    组件内的守卫
    路由守卫
    软件工程
    java web (j2ee)学习路线 —— 将青春交给命运
    团队作业(一)- 第五组
    软件工程
    软件工程-第二次作业
    java局部/成员/静态/实例变量
  • 原文地址:https://www.cnblogs.com/anderson0/p/1730026.html
Copyright © 2020-2023  润新知