U267900 交点
题目背景
应该是 6872 出过的最毒瘤的一题了。QAQ
题目描述
6872 有一个画板。他在上面画画。
初始的时候,画板是一片空白。
有下面几种操作:(操作的输入格式是 `type [arguement1,arguement2,...]`。)**所有操作相当于将途中所有点描一遍。删除的操作只可能在清空操作中出现。**
- `line [x1,x2,y1,y2]`:表示从 $(x_1,x_2)$ 画一条直线到 $(y_1,y_2)$。
- `shape [x1,y1,x2,y2,x3,y3,...,xn,yn]`:表示画出分别以 $(x_1,y_1),(x_2,y_2),\cdots,(x_n,y_n)$ 为顶点的 $n$ 边形**的轮廓**。
- `circle [x1,y1,r]`:表示画出一个以 $(x_1,y_1)$ 为圆心,半径为 $r$ 的圆形。
- `clear []`:表示清空所有的图形。
会有以下几种询问操作:
- `ask [a]`:表示询问第 $a$ 个图形/线段读入完毕后整个画板有多少个交点。
- `askmore [a1,a2,a3,...,an]`:表示询问第 $a_1,a_2,\cdots,a_n$ 个读入的图形/线段互相一共有多少个交点。
- `find [x1,y1]`:表示询问 $(x_1,y_1)$ 这个点有多少个图形穿过。先输出一共有多少个,再依次按照读入的前后顺序从小到大输出是第几个读入的,每两个整数之间用空格隔开。
输入格式
输入共 $p+q+1$ 行。
第一行两个非负整数 $p,q$,分别表示有 $p$ 次操作和有 $q$ 次询问。
接下来第 $2 \sim (p+1)$ 行,一行一个字符串,先是一个指令的字符串,然后一个空格,然后一个中括号里放入参数。**我们保证中括号里面没有空格。例子:`line [1,2,3,4]`。**
接下来第 $(p+2) \sim (p+q+1)$ 行,同上,只不过输入的是询问指令。
输出格式
对于每一次询问,输出相应的结果。
说明/提示
对于 $50\%$ 的数据,$1 \le p,q,x,y,n \le 100$。
对于 $100\%$ 的数据,$1 \le p,q,x,y,n \le 10^3$。
其中 $n$ 为图形边的最大值。