• 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才能使我安心。。。。。。

  • 相关阅读:
    nodejs 核心模块crypto
    es6新特性学习
    nodejs 常用全局包
    ionic+angular+cordova 安卓环境搭建
    谷歌浏览器调试保存到文件
    Linux命令
    Linux中用户管理详解(上)-Linux学习日记
    liunx下忘记root密码的解决方法
    cvCanny的参数
    VC运行时库(/MD、/MT等)
  • 原文地址:https://www.cnblogs.com/anderson0/p/1730026.html
Copyright © 2020-2023  润新知