「SiR-1」Checkmate
题目背景
这里本来有一串很长的背景,但是出题人觉得它实在太长了,所以就把它删掉了。
「来吧,游戏开始了。」
题目描述
有一个 n n n 行 m m m 列的棋盘。你要在这个棋盘上的所有格子依次放置一个棋子。
每当你放置一个棋子,你将会获得一定的分数,获得的分数为放置时你放置的这个棋子旁边的格子中没有放置棋子的格子的个数。这里「旁边」指的是上、下、左、右的相邻格子。
你想知道,在按照最优策略决策放置棋子的顺序的情况下,你最终得分总和的最大值。
输入格式
本题包含多组测试数据。
输入的第一行包含一个正整数 T T T,表示测试数据组数。
对于每组测试数据,包含由空格隔开的两个正整数 n , m n,m n,m。
输出格式
对于每组测试数据,输出一行,代表最大的分数。
样例 #1
样例输入 #1
4
1 3
2 2
3 4
7 13
样例输出 #1
2
4
17
162
提示
本题采用捆绑测试。
- Subtask 1(20 points): n , m ≤ 3 n, m \leq 3 n,m≤3, T ≤ 5 T \leq 5 T≤5。
- Subtask 2(20 points): n , m ≤ 4 n, m \leq 4 n,m≤4, T ≤ 10 T \leq 10 T≤10。
- Subtask 3(20 points): n = 1 n=1 n=1。
- Subtask 4(20 points): n = m n=m n=m。
- Subtask 5(20 points):无特殊限制。
对于所有测试数据, 1 ≤ n , m ≤ 1 0 8 1 \leq n, m \leq 10^8 1≤n,m≤108, 1 ≤ T ≤ 1 0 5 1 \leq T \leq 10^5 1≤T≤105。
Scratch实现
后续
接下来我会不断用scratch来实现信奥比赛中的算法题、Scratch考级编程题实现、白名单赛事考题实现,感兴趣的请关注,我后续将继续分享相关内容