PAT(Basic Level) Practice : 1087 有多少不同的值 (20分)

1087 有多少不同的值 (20分)

测试点3段错误

n=10000时,结果为10333
建立大数组的时候要大于这个数

代码

#include <iostream>
#include <vector>
#include <string>
#include <cstdio>
//scanf printf防止超时
#include <algorithm>
//vector的sort
#include <sstream>
//转换
using namespace std;

#include<iomanip>
//精度

#include<cmath>
//round四舍五入取整
#include <map>

int num[11000]={0};

int main()
{
    int n;
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        double temp=i;
        int n1=temp/2;
        int n2=temp/3;
        int n3=temp/5;
        int res=n1+n2+n3;
        num[res]++;
    }

    int count=0;
    for(int i=0;i<11000;i++)
    {
        if(num[i]>0)
        {
            count++;
        }
    }
    cout<<count<<endl;

    return 0;
}

上一篇:D - Super Jumping! Jumping! Jumping! HDU - 1087 (基础DP)


下一篇:1087. 修剪草坪(单调队列优化dp)