在游戏中( it is c++ board game like matrix with soldiers which can use formation)士兵可以以队形部署。(在地图/矩阵上的一个单元上只能部署一个士兵,编队可以在8个方向上,与x轴成0,45,90,135,180,225,270,315度,当士兵在编队时,他们在相邻的单元中,例如,除了x2- x1 =1之外我需要一个非常有效的方法来检查士兵是否在编队(士兵在课堂上有x和y自己的位置)。对于第i行,按x排序(我有std::list
在我们的X轴上有N个士兵。士兵所在的地点也有一定数量的炸弹。战争迫在眉睫,每个士兵都想和其他士兵交流。如果i-th士兵具有b个炸弹并且位于位置X,则与具有位于位置Y的c个炸弹的任何其他士兵j的通信成本被定义为|X-Y|*max(b,c)。如果每个士兵都想要与其他士兵进行通信,则找出通信成本的总和。第一行表示士兵的数量(N)。第二行表示N个士兵的坐标( Xi )。第三行包含每个士兵位置的炸弹数量( B