题目内容
某公司有 n 个项目,编号为 1 到 n,每个项目由某个部门负责。公司共有 m 个部门,编号为 1 到 m,员工职级固定为 4 级,编号 1 到 4。
系统为每个职级和每个部门分别记录了其对各个项目的“自行申请权限”:
- 给定一个 4imesn 的矩阵 P,其中 Pi,j 表示职级 i 的员工是否拥有项目 j 的自行申请权限(1 表示可以,0 表示不可以)。
- 给定一个 mimesn 的矩阵 Q,其中 Qi,j 表示部门 i 的员工是否拥有项目 j 的自行申请权限(1 表示可以,0 表示不可以)。
当一名员工希望参与某个项目时,结果按以下规则判定:
- 若其所属部门对该项目有自行申请权限 且 其职级对该项目也有自行申请权限,则员工可以自行申请。
- 若不满足上述条件,但该项目的负责部门恰好是员工所属部门,则员工可以请部门经理代为申请。
- 否则无法参与该项目。
现在有 q 个查询,请你为每个查询输出对应的判定结果。
约束条件
- 项目数 n 和部门数 m 满足 1≤n,m≤10。
- 查询次数 q 满足 1≤q≤1000。
- 所有编号从 1 开始。
- 职级固定为 4 级,矩阵 P 的大小为 4imesn。
- 矩阵元素均为 0 或 1。
输入描述
第一行包含三个整数 n,m,q,分别表示项目数量、部门数量和查询次数。
第二行包含 n 个整数 d1,d2,…,dn,其中 di 表示项目 i 的负责部门编号。
接下来 4 行,每行 n 个用空格分隔的整数(0 或 1),构成矩阵 P,表示各职级对项目的自行申请权限。
接下来 m 行,每行 n 个用空格分隔的整数(0 或 1),构成矩阵 Q,表示各部门对项目的自行申请权限。
接下来 q 行,每行包含三个整数 a,b,c,分别表示员工所属部门编号、职级编号和想要参与的项目编号。
输出描述
输出共 q 行,每行一个字符串,表示对应查询的结果。
- 若可自行申请,输出 "Help yourself";
- 若可请求部门经理代申请,输出 "Ask for help";
- 否则输出 "Impossible"。
样例1
输入
3 2 4
1 2 2
1 0 1
0 1 0
1 1 1
0 0 1
1 0 1
0 1 1
1 1 1
1 2 1
2 2 2
1 2 2
输出
Help yourself
Ask for help
Help yourself
Impossible
说明
共有 3 个项目、2 个部门,4 次查询。项目负责部门依次为 1、2、2。
- 查询
1:部门 1,职级 1,项目 1。职级 1 对项目 1 的权限 P1,1=1,部门 1 对项目 1 的权限 Q1,1=1,同时满足,输出 "Help yourself"。
- 查询
2:部门 1,职级 2,项目 1。P2,1=0,不满足自行申请;但项目 1 的负责部门为 1,与员工所属部门相同,可请部门经理代申请,输出 "Ask for help"。
- 查询
3:部门 2,职级 2,项目 2。P2,2=1 且 Q2,2=1,满足自行申请,输出 "Help yourself"。
- 查询
4:部门 1,职级 2,项目 2。P2,2=1 但 Q1,2=0,不满足自行申请;项目 2 负责部门为 2,与员工部门 1 不同,也无法代申请,输出 "Impossible"。
样例2
输入
1 1 2
1
1
0
1
0
1
1 1 1
1 2 1
输出
Help yourself
Ask for help
说明
边界情况,仅 1 个项目、1 个部门,项目由部门 1 负责。
- 查询
1:部门 1,职级 1,项目 1。权限均为 1,可自行申请,输出 "Help yourself"。
- 查询
2:部门 1,职级 2,项目 1。P2,1=0,不满足自行申请;但项目负责部门等于员工部门,可代申请,输出 "Ask for help"。
样例3
输入
2 3 3
1 2
0 0
0 0
0 0
0 0
1 0
0 1
0 0
1 1 1
2 1 2
3 1 1
输出
Ask for help
Ask for help
Impossible
说明
该样例中所有职级对所有项目均无自行申请权限(P 全 0),员工只能依赖代申请。
- 查询
1:部门 1,职级 1,项目 1。P1,1=0;项目负责部门为 1,与员工部门相同,可代申请,输出 "Ask for help"。
- 查询
2:部门 2,职级 1,项目 2。负责部门为 2,可代申请,输出 "Ask for help"。
- 查询
3:部门 3,职级 1,项目 1。负责部门为 1,与员工部门 3 不同,且无自行权限,输出 "Impossible"。