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$ 为图形边的最大值。