1545: 阿正的排球测试

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:2 解决:12

题目描述


阿正今年的体育课选到了他心心念念的排球。众所周知,阿正的排球水平非常高,以至于体育老师在考试是对他“关照有加“。老师考核阿正的内容是两个人之间的传球,这导致阿正不得不向排球水平更高的Mickey同学寻求帮助——让Mickey同学做阿正传球的搭档。  



阿正需要和他的搭档不间断的传球若干次。由于Mickey同学的水平非常高,所以不需要考虑Mickey能否接到阿正同学传的球,只用考虑阿正能否接到Mickey同学传过来的球即可。  



假设Mickey和阿正同学进行排球传球只在一维方向上进行。我们以一个32位的“01数组(即只由数字0和数字1组成的数组)“来表示Mickey和阿正的传球场地,在此题中,我们称此“01数组”为S,由于只用考虑阿正能否接到Mickey传来的球,所以对于某个位置i0<=i<=31),若S[i]=1,则这个位置表示Mikey传过来排球的一个可能的落点。  



现在给你一个十进制的整数,你需要先将这个十进制的整数转为32位的二进制数来获得Mikey传球所有可能的落点。(详请参考提示) 



现在以下标pos表示阿正在S上所处的位置。阿正同学有一个接球范围r,它可以接到落到下标为ii属于[pos-r,pos+r] 内的所有球。  

但不幸的是,坏心眼的阿树这时候跑来捣乱了。坏心眼的阿树同学可以使用魔法干扰Mickey同学排球的落点,阿树同学的魔法种类有以下3种:  



1.      阿树同学对S上的某个点 的值与0进行按位与操作,即 使S[i]=S[i]&0  

2.      阿树同学对S上的某个点 的值与0进行按位或操作,即 使S[i]=S[i]|0  

3.      阿树同学对S上的某个点 的值与1进行按位异或操作,即 使S[i]=S[i]^1  





现在你的任务是算出经过坏心眼的阿树捣乱后阿正同学接到Mickey传过来球的概率,这个概率以阿正可以接到的球的数量所有球可能落点的数量来表示。  




输入

第一行一个十进制的正整数N,代表Mickey和阿正传球的场地。 

第二行三个整数posrt,分别代表阿正的位置,阿正的接球半径和坏心眼的阿树使用魔法的次数。 

随后t行每行两个整数,分别代表坏心眼阿树使用魔法的种类和魔法处理的位置。(1代表与操作,2代表或操作,3代表异或操作)。 

输入保证0<=pos<=32,0<=r<=32,0<=t<=100000。 

输出

一个百分数代表阿正能否接到Mickey传过来球的概率,采用四舍五入取整法,保留两位小数。 

样例输入 复制

1000000666
16 7 4
1 10
2 12
1 8
3 17

样例输出 复制

40.00%

提示

对于1000000666转换为32位的二进制字符串后为 [ 0 0 1 1  1 0 1 1  1 0 0 1  1 0 1 0  1 1 0 0  1 1 0 0  1 0 0 1  1 0 1 0  ]; 
阿正同学位于这个字符串下标为16的位置,即下划线标明的位置:[ 0 0 1 1  1 0 1 1  1 0 0 1  1 0 1 0  1 1 0 0  1 1 0 0  1 0 0 1  1 0 1 0  ]; 
阿正同学的接球区间为:[ 0 0 1 1  1 0 1 1  1 0 0 1  1 0 1 0  1 1 0 0  1 1 0  1 0 0 1  1 0 1 0  ]; 

阿树同学施展第一次魔法,使得S[10]=S[10]&0;字符串变为 [ 0 0 1 1  1 0 1 1  1 0 0 1  1 0 1 0  1 1 0 0  1 1 0 0  1 0 0 1  1 0 1 0  ]; 

阿树同学施展第二次魔法,使得S[12]=S[12]| 0;字符串变为 [ 0 0 1 1  1 0 1 1  1 0 0 1  1 0 1 0  1 1 0 0  1 1 0 0  1 0 0 1  1 0 1 0  ]; 


阿树同学施展第三次魔法,使得S[8]=S[8] & 0 ; 字符串变为 [ 0 0 1 1  1 0 1 1  0 0 0 1  1 0 1 0  1 1 0 0  1 1 0 0  1 0 0 1  1 0 1 0  ]; 


阿树同学施展第四次魔法,使得S[17]=S[17]^1;字符串变为 [ 0 0 1 1  1 0 1 1  0 0 0 1  1 0 1 0  1 0 0 0  1 1 0 0  1 0 0 1  1 0 1 0  ]; 


以下划线标明阿正的位置,以加粗字体表示阿正接球范围,最终字符串变为:[ 0 0 1 1  1 0 1 1  0 0 0 1  1 0 1 0  1 0 0 0  1 1 0 0  1 0 0 1  1 0 1 0  ]; 


最终字符串中共有15个可能的排球落点,而在阿正接球范围内的共有6个点,故最终输出6/15*100%=40.00%。 

来源/分类