SP5296 COMBAT - Air Combat

题目描述

一场激烈的空战即将展开,你需要指挥这场战争。此时,敌机已经布满天空。每架飞机用三维坐标 $(x, y, z)$ 来表示,其中 $1000 < x, y, z < 1200$,且所有坐标都是整数。如下图所示: ![](../../content/fameoflight:1.jpg "示例") 你设计了一枚强力导弹,可以摧毁一个立方体范围内的所有飞机。导弹以 $(x, y, z)$ 为中心,最大范围可达 $(x-r, y-r, z-r)$ 到 $(x+r, y+r, z+r)$。然而,导弹威力强大,不仅会摧毁敌机,也会摧毁友机。爆炸后,之前属于对方阵营的飞机会抢占该位置,即敌机会被友机取代,反之亦然。 为了减少己方损失,你需要判断某一个位置上的飞机属于哪一方。

输入格式

第一行输入为场景的数量。 对于每个场景,输入的第一行包含六个整数 $x_1, y_1, z_1, x_2, y_2, z_2$,定义了立方体的两个顶点 $A(x_1, y_1, z_1)$ 和 $B(x_2, y_2, z_2)$。满足条件:$1000 \le x_1 < x_2, y_1 < y_2, z_1 < z_2 \le 1200$。在这个范围内的每一个点初始时都被敌机占据。 接下来的输入是一行整数 $q$,表示操作数量。 然后是 $q$ 行操作,每行分为两种类型: - 'U' 操作:后跟四个整数,表示中心点 $M(x_i, y_i, z_i)$ 和作用半径 $r_i$。 - 'Q' 操作:后跟三个整数,表示要查询位置 $N(x_i, y_i, z_i)$。如果该位置的飞机属于我方,则输出 `Friend`,否则输出 `Enemy`。 所有的操作点 $M$ 和查询点 $N$ 都在上述立方体范围内。

输出格式

针对每一个 'Q' 查询操作,输出对应的结果。 **本翻译由 AI 自动生成**