#789. 校门外的灯
校门外的灯
Background
Special for beginners, ^_^
Description
某校大门外长度为L的马路上有一排路灯,每两个相邻的灯之间的间隔都是 1 米。我们可以把马路看成一个数轴,马路的一端在数轴 0 的位置,另一端在 L的位置;数轴上的每个整数点,即 0,1,2,⋯,L都有一个路灯,依次编号为 0∼L。
每个灯拉动开关可以按照,关-红-黄-绿-蓝-关的顺序变化,最初所有路灯都是关着的。现在有 n次行动顺序,每次标出当前行动的含义以及开始和结束位置。每种行动的具体含义如下:
1 s t:把第 s个灯到第t个灯之间所有的灯(包含第s个灯和第t个灯)都变成关闭状态; 2 s t:把第 s个灯到第t个灯之间所有的开着的灯(包含第s个灯和第t个灯)都变成红色或绿色,只要灯变成红色或绿色时就停止拉动开关; 3 s t:把第s个灯到第t个灯之间所有的灯(包含第s个灯和第t个灯)都变成蓝色或黄色,只要灯变成蓝色或黄色时就停止拉动开关; 4 s t:把第 s个灯到第 t个灯之间所有的灯(包含第 s个灯和第 t个灯),按照是第几个灯按几下的顺序拉动开关,本次行动中位置s上的灯是第一个灯,位置t上的灯是最后一个灯。 请计算:当所有行动顺序结束后处于关闭状态的灯的数量。
Input
第一行,包含两个整数L,n。
接下来n行,每行包含三个整数op,s,t,其中op 表示是那种行动,s,t分别表示行动的开始和结束位置。
Output
一行,包含一个整数,表示答案。
Samples
10 2
4 2 8
2 1 9
5
Limitation
1s, 1024KiB for each test case.