hdu 1399(水题)

Starship Hakodate-maru

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 751    Accepted Submission(s): 518

Problem Description

The
surveyor starship Hakodate-maru is famous for her two fuel containers
with unbounded capacities. They hold the same type of atomic fuel balls.

There, however, is an inconvenience. The shapes of the fuel
containers #1 and #2 are always cubic and regular tetrahedral
respectively. Both of the fuel containers should be either empty or
filled according to their shapes. Otherwise, the fuel balls become
extremely unstable and may explode in the fuel containers. Thus, the
number of fuel balls for the container #1 should be a cubic number (n^3
for some n = 0, 1, 2, 3, ...) and that for the container #2 should be a
tetrahedral number (n(n+1)(n+2)/6 for some n = 0, 1, 2, 3, ...).

Hakodate-maru
is now at the star base Goryokaku preparing for the next mission to
create a precise and detailed chart of stars and interstellar matters.
Both of the fuel containers are now empty. Commander Parus of Goryokaku
will soon send a message to Captain Future of Hakodate-maru on how many
fuel balls Goryokaku can supply. Captain Future should quickly answer to
Commander Parus on how many fuel balls she requests before her ship
leaves Goryokaku. Of course, Captain Future and her officers want as
many fuel balls as possible.

For example, consider the case
Commander Parus offers 151200 fuel balls. If only the fuel container #1
were available (i.e. if the fuel container #2 were unavailable), at most
148877 fuel balls could be put into the fuel container since 148877 =
53 * 53 * 53 < 151200 < 54 * 54 * 54. If only the fuel container
#2 were available, at most 147440 fuel balls could be put into the fuel
container since 147440 = 95 * 96 * 97 / 6 < 151200 < 96 * 97 * 98 /
6. Using both of the fuel containers #1 and #2, 151200 fuel balls can
be put into the fuel containers since 151200 = 39 * 39 * 39 + 81 * 82 *
83 / 6. In this case, Captain Future‘s answer should be "151200".

Commander
Parus‘s offer cannot be greater than 151200 because of the capacity of
the fuel storages of Goryokaku. Captain Future and her officers know
that well.

You are a fuel engineer assigned to Hakodate-maru.
Your duty today is to help Captain Future with calculating the number of
fuel balls she should request.

Input

The
input is a sequence of at most 1024 positive integers. Each line
contains a single integer. The sequence is followed by a zero, which
indicates the end of data and should not be treated as input. You may
assume that none of the input integers is greater than 151200.

Output

The
output is composed of lines, each containing a single integer. Each
output integer should be the greatest integer that is the sum of a
nonnegative cubic number and a nonnegative tetrahedral number and that
is not greater than the corresponding input number. No other characters
should appear in the output.

Sample Input

100
64
50
20
151200
0

Sample Output

99
64
47
20
151200

Source

Asia 2001, Hakodate (Japan)

Recommend

Ignatius.L   |   We have carefully selected several similar problems for you:  1551 2141 2289 2899 2199

题意:大概就是问 a*a*a+b*(b+1)*(b+2)最接近 n 的那个数是多少?

题解:两层for循环扫一遍。。

#include <stdio.h>
#include <string.h>
#include <algorithm>
#include <queue>
#include <iostream>
#include <map>
using namespace std;
int n;
int main()
{
    while(scanf("%d",&n)!=EOF,n){
        int ans = 1,ans1 = 1;
        for(int i=1;i<=1000;i++){
            if(i*i*i>n) break;
            ans = i;
        }
        for(int i=1;i<=1000;i++){
            if(i*(i+1)*(i+2)>6*n) break;
            ans1 = i;
        }
        int res = 0;
        for(int i=0;i<=ans+1;i++){
            for(int j=0;j<=ans1+1;j++){
                if(i*i*i+j*(j+1)*(j+2)/6>n) {
                    break;
                }
                res = max(res,i*i*i+j*(j+1)*(j+2)/6);
            }
        }
        printf("%d\n",res);
    }
}
时间: 2024-10-07 17:13:09

hdu 1399(水题)的相关文章

hdu 4416 水题 浙大计算机研究生复试上机考试-2005年 可是发现自己写代码有问题

Spring3与Hibernate4整合时出现了nested exception is java.lang.NoClassDefFoundError: Lorg/hibernate/cache/CacheProvider. hibernate3的时候,用spring来控制sessionfactory用的可以是org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean,因为用的是hibernate4所以照猫画

HDU-1042-N!(Java大法好 &amp;&amp; HDU大数水题)

N! Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others) Total Submission(s): 64256    Accepted Submission(s): 18286 Problem Description Given an integer N(0 ≤ N ≤ 10000), your task is to calculate N! Input One N in o

hdu 4802 水题 算GPA 南京现场赛

http://acm.hdu.edu.cn/showproblem.php?pid=4802 今天心情不太好,因为跟一个学姐谈,她似乎保研有点被动,而我的条件其实不如她应该...祝她好运.刷道水题调整下心情 写的有点慢,因为没读题,直接看图,然后N P没考虑以及0/0的情况也没考虑,虽然1A,但是自己代码速度还可以,但是综合起来做题速度还是.... //#pragma comment(linker, "/STACK:102400000,102400000") #include <

hdu 2710 水题

题意:判断一些数里有最大因子的数 水题,省赛即将临近,高效的代码风格需要养成,为了简化代码,以后可能会更多的使用宏定义,但是通常也只是快速拿下第一道水题,涨自信.大部分的代码还是普通的形式,实际上能简化的部分也不太多 1 #include<iostream> 2 #include<cstring> 3 #include<cmath> 4 #include<cstdio> 5 using namespace std; 6 #define for0n for(i

hdu 3443(水题,公式)Shift Number

题意: 给一个数n,求最小的数生成的shift number等于n. shift number就是一个数x,x*10,x*100-..这样的和. 思路 把那个公式处理一下,其实就是X*(形如11111-.)这样的一个式子,那么找一个最大的11111-.,x就是最小了.水题 复杂度: O(len(n)) 参考code: /* #pragma warning (disable: 4786) #pragma comment (linker, "/STACK:0x800000") */ #in

Dijkstra算法---HDU 2544 水题(模板)

/* 对于只会弗洛伊德的我,迪杰斯特拉有点不是很理解,后来发现这主要用于单源最短路,稍稍明白了点,不过还是很菜,这里只是用了邻接矩阵 套模板,对于邻接表暂时还,,,没做题,后续再更新.现将这题贴上,应该是迪杰斯特拉最水的题没有之一.纯模板 */ 题目大意: 搬东西很累,想省力,给你几个点和点之间的距离:标准题型: #include<stdio.h> #include <iostream> #include<string.h> using namespace std; #

hdu 5162(水题)

题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5162 题解:看了半天以为测试用例写错了.这题玩文字游戏.它问的是当前第i名是原数组中的第几个. #include<stdio.h> #include<iostream> #include<string.h> #include <stdlib.h> #include<math.h> #include<algorithm> #include

HDU2109 Fighting for HDU【水题】

Fighting for HDU Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 7486    Accepted Submission(s): 3854 Problem Description 在上一回,我们让你猜测海东集团用地的形状,你猜对了吗?不管结果如何,都没关系,下面我继续向大家讲解海东集团的发展情况: 在最初的两年里,HDU

hdu 5038 水题 但是题意坑

http://acm.hdu.edu.cn/showproblem.php?pid=5038 就是求个众数  这个范围小 所以一个数组存是否存在的状态就行了 但是这句话真恶心  If not all the value are the same but the frequencies of them are the same, there is no mode. 其实应该是这个意思: 当频率最高的有多个的时候, 如果 所有的grade出现的频率都是相等的,那么是没有mode的 否则按照升序 当然