编程题
炸弹攻击 2 ### 题目描述 游戏的地图是一个二维平面。JYY 的阵地位于$x$轴下方,而所有的敌人目前都位于$x$轴上方。 在 JYY 的阵地中有建有$T$个激光塔和$S$个发射源。其中第$i$个防御塔$T_i$的坐标为$(tx_i,ty_i)$,第$i$个发射源$S_i$的坐标为$(sx_i,sy_i)$。 地图上有$D$个敌人,第$i$个敌人$D_i$的坐标为$(dx_i,dy_i)$。 两座激光塔可以相互连接形成能量墙。发射源朝向敌人发出的能量如果穿过了能量墙,可以得到巨大的加强而变为超级射线并瞬间消灭敌人。 JYY 想知道他有多少种可以可以发出超级射线的攻击方案。 具体来说,一个可以发出超级射线的攻击方案为一个由四个点组成的集合:{$T_i,T_j,S_k,D_l$},满足$1$$\leq$$i$$<$$j$$\leq$$T$$,$$1$$\leq$$k$$\leq$$S$$,$$1$$\leq$$l$$\leq$$D$,并且线段$T_iT_j$和线段$S_kD_l$相交。 游戏设定保证在这$T$$+$$D$$+$$S$个点中,不存在重点也不存在三点共线。 ### 输入描述 第一行包含一个正整数$D$; 接下来$D$行,每行包含两个整数$dx_i,dy_i$,表示一个敌人的坐标; 第$D$$+$$1$行包含一个整数$S$; 接下来$S$行,每行包含两个整数$sx_i,sy_i$,表示一个发射源的坐标; 第$D$$+$$S$$+$$1$行包含一个整数$T$; 接下来$T$行,每行包含两个整数$(tx_i,ty_i)$,表示一个激光塔的坐标。 其中,$1$$\leq$$D,S,T$$\leq$$800$$,$$dy_i$$>$$0$$,$$sy_i$$,$$ty_i$$<$$0$,所有坐标绝对值不超过$10^9$。 ### 输出描述 输出一行一个整数,可以发出超级射线的攻击方案个数。 ### 输入输出样例 #### 示例 1 >输入 ``` txt 3 1 12 10 30 30 10 1 10 -10 4 2 -11 9 -1 11 -1 15 -14 ``` >输出 ``` txt 7 ```
查看答案
赣ICP备20007335号-2