1342: 消灭怪物

1342: 消灭怪物

时间限制: 2 Sec  内存限制: 256 MB

题目描述

有水平放置的编号从1到n的n个格子,每个格子中有一个或者多个怪物。你可以在任何一个格子里投下炸弹,这个格子里的怪物都将受到伤害,当每个怪物第一次受到伤害,它会立即移动到相邻的格子(格子n内的怪物只能移动到格子n-1,格子1内的怪物只能移动到格子2),当一个怪物受到两次伤害时,他将彻底被消灭。怪物只有在第一次受到伤害时才一移动,它们自己不会移动。

你要找出消灭所有怪物所需要的最小炸弹数。

 

输入

第一行:整数T,表示测试实例个数。

对于每组测试实例:

输入一个整数n (2 ≤ n ≤ 100 000) ——表示有n个格子。

 

输出

每组测试实例输出一行:包括一个整数——消灭所有怪物所需要的最小炸弹数。

 

样例输入

2
2
3

 

样例输出

3
4

这个题有点坑,题意说的不太清楚,全靠猜。。。

先补充一下题目:有水平放置的编号从1到n的n个格子,每个格子中有一个或者多个怪物。你可以在任何一个格子里投下炸弹,这个格子里的怪物都将受到伤害,当每个怪物第一次受到伤害,它会立即移动到相邻的格子(格子第n个格子内的怪物只能移动到格子n-1中,格子1内的怪物只能移动到格子2,例如第3个格子中的怪物只能移到第2个格子中,第4个格子中的怪物只能移到第三个格子中),如果当前格子中有从其他格子跳过来的怪物,则该格子中原本的怪物收到伤害时,不能移动,当一个怪物受到两次伤害时,他将彻底被消灭。怪物只有在第一次受到伤害时才一移动,它们自己不会移动。

代码:

import java.util.Scanner;
 
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
         
        int n = sc.nextInt();
        int a[] = new int[n];
         
        for (int i = 0; i < a.length; i++) {
            int temp = sc.nextInt();
            a[i] = temp/2+temp;
        }
         
        for (int j = 0; j < a.length; j++) {
            System.out.println(a[j]);
        }
    }
}
/**************************************************************
    Problem: 1342
    User: 20161514325
    Language: Java
    Result: 正确
    Time:233 ms
    Memory:13432 kb
****************************************************************/

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值