【备战秋招】每日一题:2023.04.29-美团春招-第一题-选课

为了更好的阅读体检,可以查看我的算法学习网
在线评测链接:P1266
塔子哥题解

题目内容

某大学一共有 n n n 门课程,编号为 1 1 1 ~ n n n m m m 个学院,编号为 1 1 1 ~ m m m 。最近开学季,很多学院都开放了选课窗口,但是很多课程在选课窗口也不一定能选择上,因为课程没有给某些学生开放选择权限,但是学生可以去找教务处帮忙选择该课程。

也就是说,如果塔子哥是计算机学院的一名学生,如果他可以选择计算机学院的一个课程,但是该课程没有开放权限让他选,他可以去找计算机学院的教务处帮忙选课,如果开放了权限,他就可以自己选课。但是如果塔子哥可以选择电气工程学院的一个课程,如果该课程没有开放权限,他就算是去找电气工程学院的教务处,这个教务处也无法帮塔子哥选课,因为塔子哥不是电气工程学院的学生,但如果该课程开放了权限,那么塔子哥就可以自己选课了。

因为这些过程自己一门门课程去想,很麻烦,所以学校想请你帮学生们制作一个能快速判断自己选课情况的程序,你能帮学校编写这个程序吗?

学校给出 n n n 门可选课程及其开课学院、允许在系统选课的年级和专业,进行 q q q 次查询,每次查询给出学生所属学院和待选课程,请你帮这些学生判断他们是否能选择该课程,如果能选,他应该怎样去选课。

若可以自行在选课,输出 Help yourself ,否则若可以由教务处成功代选,输出 Ask for help ,否则说明该学生无法选择该门课程,输出 Impossible

注意: 只有年级和学院都不被限制的学生可以自行选课。

输入描述

第一行输入为 3 3 3 个正整数 n n n , m m m , q q q ( 1 ≤ n , m ≤ 10 , 1 ≤ q ≤ 1000 ) (1 \leq n , m \leq 10 , 1 \leq q \leq 1000) (1n,m10,1q1000)

第二行输入 n n n 个正整数 s i ( 1 ≤ s i ≤ 10 ) s_i(1 \leq s_i \leq 10) si(1si10) ,表示编号为 i i i 的课程的开课学院为 s i s_i si

接下来 4 4 4 行输入一个 4 × n 4×n 4×n01矩阵 f f f f i j = 0 f_{ij}=0 fij=0 表示没给 i i i 年级的学生开放选 j j j 课程的权限, f i j = 1 f_{ij}=1 fij=1 则表示开放了;

接下来 m m m 行输入一个 m × n m×n m×n01 矩阵 g g g g i j = 0 g_{ij}=0 gij=0 表示没给 i i i 学院的学生开放自行选 j j j 课程的权限, g i j = 1 g_{ij}=1 gij=1 则表示开放了;

接下来 q q q 行,每行输入 3 3 3 个正整数 A , B , c A,B,c A,B,c ,表示学生所属学院、年级、待选课程。

输出描述

输出一共 q q q 行,每行一个字符串表示对应查询的结果。

样例

输入

5 5 10
5 10 5 3 6
0 1 0 1 0
0 1 0 1 1
1 0 1 1 1
1 1 0 1 0
1 1 1 1 1
1 1 1 1 0
1 1 0 0 0
0 0 1 0 1
0 1 1 1 1
4 3 1
2 2 4
2 3 5
4 3 4
1 3 3
5 4 1
5 2 4
1 4 4
5 1 3
5 3 1

输出

Impossible
Help yourself
Impossible
Impossible
Help yourself
Ask for help
Help yourself
Help yourself
Ask for help
Ask for help
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

塔子哥学算法

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值