#7824. 小凸解密码
小凸解密码
本题没有可用的提交语言。
题目描述
 小凸得到了一个密码盘,密码盘被等分成N个扇形,每个扇形上有一个数字(0~9),和一个符号(“+”或"*")
 
 密码盘解密的方法如下:
 
 首先,选择一个位置开始,顺时针地将数字和符号分别记在数组A和数组C巾
 
 解密的方法如下
 
 B0=A0
 
 当x>0时:
 
 若Cx为“+”,Bx=(Ax+Ax-1)%10,注意:x-1是下标值
 
 若Cx为“*”,Bx= (Ax×Ax-1)%10,注意:x-1是下标值
 
 操作完成后,可以得到一个长度为n的数组B,然后以B0为起点将B数组顺时针写成一个环,解密就完成
 
 了,称得到的环为答案环。
 
 现在小凸得到了一份指令表,指令表上有2种操作。
 
 一种指令是修改操作,即改变原来密码盘上一个位置的数字和符号。
 
 另一种指令是询问操作,具体如下:
 
 首先从指令给出的位置开始完成解密,得到答案环。
 
 答案环上会有一些0连在一起,将这些连在一起的0称为零区间,找出其中距离B0最远的那个零区间,输
 
 出这个距离。
 
 零区问和B0的距离定义为:零区问内所有0到B0距离中的最小值。
 
输入格式
 第1行包含2个整数n,m,代表密码盘大小和指令个数
 
 接下来n行,每行包含1个整数和1个字符,按顺时针顺序给出了密码盘上的数组和符号
 
 接下来m行,依次给出指令
 
 每行第1个整数代表指令类型
 
 若第1个墼数为1,代表本行对应指令为修改操作,之后依次有2个整数pos,num和1个字符opt,分别
 
 代表修改的位置,以及修改后该位置的数字和字符
 
 若第1个整数为2,代表本行对应指令位询问操作,之后有1个整数pos,代表本次操作中解密的开始位置
 
 密码盘上的位置标号为0到n-l
 
 数据保证合法,即数据中0≤pos<N,0≤num≤9,opt为“+”或“*”
 
输出格式
 对于每个询问操作1行,输出答案,若答案环上没有0,输出-1
 
5 8
0 *
0 *
0 *
0 *
0 *
2 0
1 0 1 +
1 2 1 +
2 3
1 1 1 +
1 3 1 +
1 4 1 +
2 4
0
2
-1
数据范围与约定
 第1个询问,答案环为[0,0,0,0,0],仅有1个零区间,且B0在其中,所以距离是0
 对于第2个询问,答案环为[0,0,1,0,l],有2个零区间,(0,1)和B0距离是o,(3,3)和B0距离是2,故答案为2
 对于第3个询问,答案环为[1,2,2,2,2],没有零区间,答案是-1
 对于100%数据,5 <=n,m≤10^5