#P5238. 整数校验器
整数校验器
题目描述
有些时候需要解决这样一类问题:判断一个数 是否合法。
合法当且仅当其满足如下条件:
- 格式合法,一个格式合法的整数要么是 ,要么由一个可加可不加的负号,一个 到 之间的数字,和若干个 到 之间的数字依次连接而成。
- 在区间 范围内(即 )。
你需要实现这样一个校验器,对于给定的 ,多次判断 是否合法。
输入格式
第一行三个整数 ,表示校验器的校验区间为 ,以及需要校验的 的个数。
接下来 行,每行一个 ,表示要校验的数,保证 长度至少为 且仅由 '0'~'9' 及 '-' 构成,且 '-' 只会出现在第一个字符。
输出格式
输出共 行,每行一个整数,表示每个 的校验结果。
校验结果规定如下: 表示 合法; 表示 格式不合法; 表示 格式合法且不在 区间内。
-3 3 4
0
00
-0
100000000000000000000
0
1
1
2
提示
对于 的数据,, 在 位有符号整型范围内(即 )。
保证输入文件大小不超过 。数据在 linux 下生成,没有 '\r' 字符。
以下为部分特殊限制(互不包含):
- 有 的数据,。
- 有 的数据,保证 格式一定合法。
- 有 的数据,保证如果 格式合法,那么 一定在 位有符号整形范围内。
其中有一个不计分的hack测试点,用于考察long long边界数字的判断,如果是100分UnAC的话,那么可能是你没有考虑这一种情况。