zoukankan      html  css  js  c++  java
  • 1415. [NOIP2001]数的计数

    ☆   输入文件:nums.in   输出文件:nums.out   简单对比
    时间限制:1 s   内存限制:256 MB

    【题目描述】

      我们要求找出具有下列性质数的个数(包含输入的自然数n):

    先输入一个自然数n(n≤1000),然后对此自然数按照如下方法进行处理

    l·不作任何处理:

    2·在它的左边加上一个自然数,但该自然数不能超过原数的一半;

    3·加上数后,继续按此规则进行处理,直到不能再立生自然数为止。

     

    【输入格式】

           自然数n

    【输出格式】

           满足条件的数的个数

    【样例输入】

    6

    【样例输出】

    6

    【数据范围及提示】

           如题中所说,1<=n<=1000

    【来源】

    思路:

    当我第一眼看到这个题的时候我就大吃一惊,因为我夏令营的时候做过原题,但仔细看看好像有些不同,这个只是让你输出最终结果,没有让你输出每种情况。但是我犯了一个错误,就是按照原来做的思路枚举每种情况的方式去把这个题转换成一个类似数据结构的题。但是这道题是有规律的,第i个数,就是前i/2个数所有情况之和,再加上本身…….

     1 #include<iostream>
     2 #include<cstdio>
     3 using namespace std;
     4 int main()
     5 {
     6     freopen("nums.in","r",stdin);
     7     freopen("nums.out","w",stdout);
     8     int a[1001],n;
     9     cin>>n;
    10     a[1]=1;
    11     for(int s=2;s<=n;s++)
    12     {
    13         a[s]=0;
    14         for(int i=1;i<=s/2;i++)
    15         {
    16             a[s]+=a[i];
    17         }
    18         a[s]++;
    19     }
    20     cout<<a[n];
    21     return 0;
    22 }
    View Code
  • 相关阅读:
    【Codeforces 923A】Primal Sport
    【Codeforces 924C】Riverside Curio
    【Codeforces 682C】Alyona and the Tree
    【Codeforces 1118D1】Coffee and Coursework (Easy version)
    【Codeforces 493C】Vasya and Basketball
    【Codeforces 598D】Igor In the Museum
    js 时间格式化
    C#自定义规则对比两个集合的对象是否相等
    VUE的组件DEMO
    js 去掉指定符号的字符串做法
  • 原文地址:https://www.cnblogs.com/zwfymqz/p/6557910.html
Copyright © 2011-2022 走看看