题目来源
题目描述
期末考试来了,你正在写试卷。
试卷用正方形网格表示,每个网格单元格内有一个整数值,代表每一题的得分。你从网格的左上角出发,目标是到达网格的右下角,但有一些特殊的规则让这条路径充满了挑战:
- 你每次只能向右或向下走。
- 如果你在某一格的得分大于等于 0,并且该格是你第一次到达,那么该格的得分会加到你的总得分中。
- 如果你在某一格的得分小于 0,并且该格是你第一次到达,那么你会丧失等于该格得分绝对值的分数(即扣除该格的分数)。
- 如果你已经访问过该格,则该格的得分不会被计算(无论得分是正是负)。
你需要计算出从左上角到右下角的总得分就是你的考试成绩,请让它尽量高,如果你想考的很低我也不拦你。。
你们仁慈的老师会根据对你们预期的分数划定一条加作业线 k ,如果成绩比 k 小,你就会没有一个清静的寒假。
输入格式
- 第一行两个整数 n k ,分别表示矩阵 grid 的边长和加作业线 k 的分数
- 第二到 n+1 行,一个 n \times n 的矩阵 grid ,每个元素表示对应单元格的得分。 -1000 ≤ grid[i][j] ≤ 1000 。
输出格式
- 第一行输出 "Max score: "(不包括引号)和最大分数 result 。
- 第二行输出是否有一个清静的寒假,如果有输出 “MAN!”(不包括引号) ,否则输出 “No!God!Please no!”(不包括引号)。
样例
Input 1
3 30
1 2 3
4 5 6
7 8 9
Output 1
Max score: 29
No!God!Please no!