题意 有m个水平放置且相邻的格子,每个格子中至少有一个坦克,你需要用导弹消灭这些坦克,如果一个坦克承受伤害的第一时间,瞬间移动到一个相邻细胞(坦克n只能移动到n - 1处,1坦克只能移动到2处)。如果坦克第二次受到伤害,它被计算为毁灭,不再移动。坦克只有在它们第一次被损坏时才会移动,它们不会自行移动。
帮助Slava用几颗炸弹可能摧毁所有的坦克。
在第一行打印M炸弹”需要消灭所有坦克的最小数量。
在第二行打印M的K1,K2 , …,KM。数奇意味着第i个炸弹应该被丢弃在Ki处。
先攻击偶数的格子 然后攻击奇数的格子 再攻击偶数的格子就可以把所有坦克消灭掉了
#include <cstdio>
#include <cstring>
#include <string>
#include <iostream>
#include <algorithm>
#include <set>
using namespace std;
int main()
{
int n;
scanf("%d", &n);
int sum = n & 1 ? n + n / 2 : n + n / 2;
printf("%d\n", sum);
for (int i = 1; i <= n; i ++) {
if (!(i & 1)) printf("%d ", i);
}
for (int i = 1; i <= n; i ++) {
if (i & 1) printf("%d ", i);
}
for (int i = 2; i <= n; i ++) {
if (!(i & 1)) printf("%d ", i);
}
printf("\n");
}
本文介绍了一个轰炸策略游戏的解决方案,玩家需要使用最少的炸弹来摧毁未知数量和位置的坦克。文章详细描述了如何通过特定的轰炸顺序(先攻击偶数格子再攻击奇数格子最后再次攻击偶数格子)来确保所有坦克被摧毁的方法。
1329

被折叠的 条评论
为什么被折叠?



