#D0311. 趁火打劫

趁火打劫

题目背景

敌之害大,就势取利,刚决柔也。

题目描述

33DAI 喜欢抓住同学们的失误尽可能扣除分数。他出了一道 CSPJ 题目,题目有四个子任务,分数分别为 10,20,30,4010,20,30,40 分。

33DAI 可以给这些子任务之间设置依赖,用 a1,1a4,4a_{1,1}\sim a_{4,4} 来描述四个子任务之间的依赖关系,如果 ai,j=1a_{i,j}=1 表示有依赖,即必须要拿到了子任务 ii 的分数,才能拿到子任务 jj 的分数。题目保证当 i>=ji>=j 时,ai,j=0a_{i,j}=0

假设 Kitten 做错了其中一个子任务,另外三个子任务都对了。请你输出当她做错了子任务 1,2,3,41,2,3,4 时分别能拿到多少分。

输入格式

四行,每行四个整数,第 ii 行第 jj 列的是 ai,ja_{i,j}

输出格式

输出四个整数,当她做错了子任务 1,2,3,41,2,3,4 中的一个(其他三个做对了)时分别能拿到多少分。

0 1 1 1
0 0 1 1
0 0 0 1
0 0 0 0
0 10 30 60

显然依赖关系为:1->2->3->4,所以如果 1 错了就全没了,2 错了就只能拿到 1 的分数 1010 分,3 错了就只能拿到 1 2 的分数 10+20=3010+20=30 分,4 错了就只能拿到 1 2 3 的分数 10+20+30=6010+20+30=60

0 1 0 0
0 0 0 0
0 0 0 1
0 0 0 0
70 80 30 60

显然依赖关系为:1->23->4

  • 如果 1 错了就只能拿到 3 4 的分数 30+40=7030+40=70 分;
  • 如果 2 错了就只能拿到 1 3 4 的分数 10+30+40=8010+30+40=80 分;
  • 如果 3 错了就只能拿到 1 2 的分数 10+20=3010+20=30 分;
  • 如果 4 错了就只能拿到 1 2 3 的分数 10+20+30=6010+20+30=60
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
90 80 70 60

没有子任务依赖,错了哪个就只扣那个分数,但可惜 33DAI 一般都没这么仁慈。

数据规模与约定

对于 100%100\% 的数据,保证输入合法。即题目保证当 i>=ji>=j 时,ai,j=0a_{i,j}=0。其它情况 ai,ja_{i,j} 等于 0011

  • 子任务 1(10 分):保证 ai,j=1a_{i,j}=1(除了规定必须为 00 的情况)。
  • 子任务 2(20 分):保证 a1,4=a2,4=a3,4=1a_{1,4}=a_{2,4}=a_{3,4}=1,其它的 ai,j=0a_{i,j}=0
  • 子任务 3(30 分):保证输入的 1616 个整数只有一个 11
  • 子任务 4(40 分):没有特殊限制。