zoukankan      html  css  js  c++  java
  • NYOJ--541--最强DE 战斗力(递推)

    最强DE 战斗力

    时间限制:1000 ms  |  内存限制:65535 KB
    难度:3
     
    描述

    春秋战国时期,赵国地大物博,资源非常丰富,人民安居乐业。但许多国家对它虎视眈眈,准备联合起来对赵国发起一场战争。

    显然,面对多个国家的部队去作战,赵国的兵力明显处于劣势。战斗力是决定战争成败的关键因素,一般来说,一支部队的战斗力与部队的兵力成正比。但当把一支部队分成若干个作战队伍时,这个部队的战斗力就会大大的增强。

    一支部队的战斗力是可以通过以下两个规则计算出来的:

    1.若一支作战队伍的兵力为N,则这支作战队伍的战斗力为N;

    2.若将一支部队分为若干个作战队伍,则这支部队的总战斗力为这些作战队伍战斗力的乘积。

    比如:一支部队的兵力为5时的战斗力分析如下:

    情况

    作战安排

    总的战斗力

    1

    1,1,1,1,1(共分为5个作战队伍)

    1*1*1*1*1=1

    2

    1,1,1,2   (共分为4个作战队伍)

    1*1*1*2=2

    3

    1,2,2     (共分为3个作战队伍)

    1*2*2=4

    4

    1,1,3     (共分为3个作战队伍)

    1*1*3=3

    5

    2,3        (共分为2个作战队伍)

    2*3=6

    6

    1,4        (共分为2个作战队伍)

    1*4=4

    7

    5           (共分为1个作战队伍)

    5=5

        显然,将部队分为2个作战队伍(一个为2,另一个为3),总的战斗力达到最大!
     
    输入
    第一行: N表示有N组测试数据. (2<=N<=5)
    接下来有N行,每行有一个整数Ti 代表赵国部队的兵力. (1<=Ti<=1000) i=1,…N
    输出
    对于每一行测试数据,输出占一行,仅一个整数S,表示作战安排的最大战斗力.
    样例输入
    2
    5
    4
    样例输出
    6
    4

     1  /*
     2       Name: NYOJ--541--最强DE 战斗力
     3       Copyright: ©2017 日天大帝
     4       Author: 日天大帝
     5       Date: 24/04/17 19:20
     6       Description: 大数,java快又省,这道题可以递推做
     7                           思路:递推,先找到核心的基础元素:当然是123了,从4开始可以拆了
     8                           4 = 2 * 2
     9                           5 = 3 * 2
    10                           6 = 3 * 3
    11                           7 = 3 * 4--> = 2 * 2;
    12                           8 = 3 * 5--> = 3 * 2;
    13                           发现3时核心的基础元素,规律来了,递推吧
    14  */
    15 import java.util.*;
    16 import java.math.*;
    17 public class  Main{
    18    
    19     public static void main(String[] args) {
    20         Scanner cin = new Scanner(System.in);
    21         BigInteger arr[] = new BigInteger[1002];
    22         arr[1] = BigInteger.valueOf(1);
    23         arr[2] = BigInteger.valueOf(2);
    24         arr[3] = BigInteger.valueOf(3);
    25         arr[4] = BigInteger.valueOf(4);//不能从4开始递推,4 不能拆成3,1
    26         for(int i=5; i< 1001; ++i){
    27             arr[i] = BigInteger.valueOf(3).multiply(arr[i-3]);
    28         }
    29         int n = cin.nextInt();
    30         while( n-- > 0 ){
    31             int temp = cin.nextInt();
    32             System.out.println(arr[temp]);
    33         }
    34     }
    35 }
  • 相关阅读:
    tile38 复制配置
    The Guardian’s Migration from MongoDB to PostgreSQL on Amazon RDS
    tile38 一款开源的geo 数据库
    sqler sql 转rest api 的docker 镜像构建(续)使用源码编译
    sqler sql 转rest api javascript 试用
    sqler sql 转rest api redis 接口使用
    sqler sql 转rest api 的docker image
    sqler sql 转rest api 的工具试用
    apache geode 试用
    benthos v1 的一些新功能
  • 原文地址:https://www.cnblogs.com/slothrbk/p/6758533.html
Copyright © 2011-2022 走看看