首页 文章资讯内容详情

Java 中的最少炸弹数

2026-06-02 1 花语

这里的问题陈述是以最少的爆炸次数杀死建筑物房间中的暴徒。房间被标记为1到n。暴徒在第一次爆炸袭击中受伤,在第二次爆炸中死亡。当房间被炸毁时,暴徒会冲到建筑物中最近的房间,特别是隔壁房间。我们必须计算轰炸房间所需的轰炸次数,以杀死建筑物中的所有暴徒。

让我们用例子来理解

输入 -int房间数=3

输出- 所需的总轰炸次数

4

2132

说明 -这里所需的最少炸弹数量是4.Let我们考虑首先轰炸第二个房间,暴徒会冲到第一个或第三个房间以自救。然后我们轰炸第一个房间,这里一些被第二个房间袭击的受伤的暴徒会死,躲在第一个房间的暴徒受伤并冲向离他们最近的第二个房间。现在我们在这里轰炸第三个房间,第二个房间爆炸的暴徒躲藏起来,所以他们在第三个房间的爆炸中丧生,而躲在第三个房间的暴徒也会冲到最近的i.e第二个房间,最后我们轰炸了第二个房间,第三个房间和第一个房间里受伤的暴徒被杀,这就完成了我们的任务。

输入 -int房间数=2

输出- 所需的总轰炸次数

3

212

说明 -这里所需的最少炸弹数量是3.Let我们考虑首先轰炸第二个房间,暴徒会冲到第一个房间以自救。然后我们轰炸第一个房间,在这里,第二个房间的一些受伤的暴徒会死,躲在第一个房间的暴徒受伤并冲到离他们最近的第二个房间。现在我们轰炸这里的第二个房间。躲在第一个房间爆炸的暴徒被杀,这完成了我们的任务。

以下程序中使用的方法如下-

首先,房间的数量作为用户的输入。

所需的炸弹数量按(n+n/2)计算,然后打印出来。

然后我们轰炸建筑物的所有偶数房间并打印出来。

在此之后,我们轰炸了建筑物的奇怪房间,然后我们将它们打印出来。

最后,我们再次轰炸建筑物的偶数房间以结束轰炸过程,并将结果打印给用户。

示例

public class TP{ public static void main(String[] args){ int n = 8; System.out.println("Total Bombings required"); System.out.println(n + n / 2); for (int i = 2; i <= n; i += 2) System.out.print(i + " "); for (int i = 1; i <= n; i += 2) System.out.print(i + " "); for (int i = 2; i <= n; i += 2) System.out.print(i + " "); } }输出结果

如果我们运行上面的代码,它将生成以下输出

Total Bombings required 12 2 4 6 8 1 3 5 7 2 4 6 8