A1788. 我心中珍藏的游戏
编程题
普及/提高-
知识点
题目描述
Macw最喜欢的游戏莫过于是“Battle Eggman”了。而现在,这款游戏更新了新的技能对战模式。在这个模式中,Macw作为游戏的玩家可以发动 $n$ 个技能。
游戏的机制是这样子的,玩家可以任意选择多个攻击加成。一个加成形如 $E_{v1, v2}$。表示如果一位玩家发动了技能v1,而他又发动了技能v2,那么他就可以额外获得 $E_{v1, v2}$ 点伤害。相反也是如此。也就是说 $E_{v1, v2} = E_{v2, v1}$。
聪明的Macw想考考你,Macw他最多可以额外获得多少点的攻击伤害。
游戏的机制是这样子的,玩家可以任意选择多个攻击加成。一个加成形如 $E_{v1, v2}$。表示如果一位玩家发动了技能v1,而他又发动了技能v2,那么他就可以额外获得 $E_{v1, v2}$ 点伤害。相反也是如此。也就是说 $E_{v1, v2} = E_{v2, v1}$。
聪明的Macw想考考你,Macw他最多可以额外获得多少点的攻击伤害。
输入格式
输入包含 $n+1$ 行。
第一行输入一个整数 $n$,代表Macw可以发动n个技能。
接下来的$n$行,每一行$n$个数字。可以将这些输入看作为是一个$n*n$的矩阵。
矩阵的第 $i$ 行第 $j$ 列就是发动第 $i$ 个攻击后再发动第$j$个攻击后可以获得的攻击加成。
例如,矩阵的 $(1, 3) = 5$,若Macw使用该加成表示Macw在发动完第1个技能后,再发动第3个技能的时候就可以获得5点攻击加成。
输入数据保证当 $v1=v2$ 时,$E_{v1, v2}=0$。
如果 $E_{v1, v2}=0$,该攻击加成无效或不存在。
第一行输入一个整数 $n$,代表Macw可以发动n个技能。
接下来的$n$行,每一行$n$个数字。可以将这些输入看作为是一个$n*n$的矩阵。
矩阵的第 $i$ 行第 $j$ 列就是发动第 $i$ 个攻击后再发动第$j$个攻击后可以获得的攻击加成。
例如,矩阵的 $(1, 3) = 5$,若Macw使用该加成表示Macw在发动完第1个技能后,再发动第3个技能的时候就可以获得5点攻击加成。
输入数据保证当 $v1=v2$ 时,$E_{v1, v2}=0$。
如果 $E_{v1, v2}=0$,该攻击加成无效或不存在。
输出格式
输出一行一个整数,表示Macw他最多可以额外获得多少点的攻击伤害。
输入输出样例
输入 #1
3 0 3 5 3 0 10 5 10 0
输出 #1
15
输入 #2
5 0 46 28 50 12 46 0 2 25 44 28 2 0 21 42 50 25 21 0 23 12 44 42 23 0
输出 #2
182
说明/提示
数据范围:
对于100%的数据,保证 $1 \leq n \leq 800$。
对于100%的数据,保证 $0 \leq E_{v1, v2} \leq 1000$。
对于100%的数据,保证可以使用 $32$ 位带符号整型存储。
样例解释:
对于第一个样例:
游戏一共有6个技能加成:
第一对加成:$E_{1, 2} = E_{2, 1} = 3$。
第二对加成:$E_{1, 3} = E_{3, 1} = 5$。
第三对加成:$E_{2, 3} = E_{3, 2} = 10$。
Macw可以选择先发动技能1再发动技能3,使用第二对加成获得5点攻击加成。
之后Macw再发动技能2,使用第三对加成即可获得10点攻击加成。
因此Macw可以获得的最大攻击加成为$5 + 10 = 15$。
对于第二个样例,一个可行操作方案如下:
使用技能4 -> 使用技能3 -> 使用加成$E_{4, 1}$ -> 使用技能1 -> 使用加成$E_{3, 5}$ -> 使用技能 5 -> 使用加成$E_{1, 2}$ -> 同时使用加成$E_{4, 2}$ -> 使用技能2。
对于100%的数据,保证 $1 \leq n \leq 800$。
对于100%的数据,保证 $0 \leq E_{v1, v2} \leq 1000$。
对于100%的数据,保证可以使用 $32$ 位带符号整型存储。
样例解释:
对于第一个样例:
游戏一共有6个技能加成:
第一对加成:$E_{1, 2} = E_{2, 1} = 3$。
第二对加成:$E_{1, 3} = E_{3, 1} = 5$。
第三对加成:$E_{2, 3} = E_{3, 2} = 10$。
Macw可以选择先发动技能1再发动技能3,使用第二对加成获得5点攻击加成。
之后Macw再发动技能2,使用第三对加成即可获得10点攻击加成。
因此Macw可以获得的最大攻击加成为$5 + 10 = 15$。
对于第二个样例,一个可行操作方案如下:
使用技能4 -> 使用技能3 -> 使用加成$E_{4, 1}$ -> 使用技能1 -> 使用加成$E_{3, 5}$ -> 使用技能 5 -> 使用加成$E_{1, 2}$ -> 同时使用加成$E_{4, 2}$ -> 使用技能2。