#bzoj2636. crisis
crisis
题目原件
题目描述
某地爆发了经济危机,反对派武装发动造反。你任某军军长,负责消灭该地的反动派武装力量。由于你英勇神武,战无不克,很快,反动派武装就被基本消灭。残部退守到位于附近的大本营,你决定包围它,然后择日发起总攻。你将在士兵下达命令,例如第旅和第旅向西行军。第旅和第旅绕着大本营巡逻,吸引敌军注意。当然有时候你发现你的一些部署不大妥当。连忙撤销之前下达的一些命令,部署后作为一名一丝不苟的少将。你一定要抽查一些士兵的位置。是否恰好达到了预定的位置?当然你首先要算出被抽查士兵应该所处的位置才行。
测试点:
输入格式
第一行是一个数,表示你的麾下士兵的总数。接下来行,每行两个数,表示每个士兵在开始行动前所处的位置。接下来一个数表示操作个数。再行,每行是一个操作,一共有种可能的操作。操作分为类,命令撤销和重做,询问。
命令有三种:
Move i j a b(第个士兵到第小个士兵向东移动米,向北移动米。)Patrol i j a(第个士兵到第个士兵围绕敌军大本营逆时针巡逻弧度。)Lurk i j(第个士兵到第个士兵潜伏到敌军大本营。)
撤销和重做:
Cancel a(撤销最后一次要被执行的(移动,巡逻或潜伏)命令。)Redo a(重做最后一个被撤销的命令。)
询问:
Ask i(询问第个士兵应处的位置。)
输出格式
对每个询问输出一行,每行两个数代表被询问的士兵应处的位置。你的输出与参考答案的误差小于即视为正确。
样例
10
1 1
1 2
1 3
1 4
1 5
1 6
1 7
1 8
1 9
1 10
15
Lurk 1 5
Move 1 5 100 100
Move 1 1 100 100
Move 1 1 10 0
Move 1 1 0 10
Cancel 1
Cancel 1
Patrol 6 10 3.14159265358979323
Patrol 6 8 1.57079632679489661
Move 2 7 -100 0
Cancel 2
Ask 1
Ask 10
Redo 1
Ask 5
200 200
-1 -10
100 100
数据规模与约定
你早已摸清了反对派武装的脾气。知道他们不敢贸然行动,因此即使你的士兵很靠近敌军大本营,在你为主动攻击之前,敌人也不会攻击你的士兵。
另外一个军的人数一般为人。
不会有超过次操作。
另外考虑到潜伏是十分危险的行动,大概有的数据不含潜伏。