U183564 小 O 的妹♂子♂梦
题目背景
小 O ,一名颓废 Oier ,在三次元 liao ♂ mz 未果后,开始痴迷于二次元 mz 。
呵呵,他昨晚做了一个♂梦♂,梦见了一个非常可( yao )爱( rao )的 mz 。但他第二天醒来时,发现 mz 不见了。
幸运的是,小 O 有多年画( shen )画( mei )经验,他希望画出一个比梦中的更可爱的 mz 。
题目描述
小 O 不愧是多年二刺螈砖( si )家( zhai ),他精通萌♂学,并列出了 n 个他知道的全部的萌点。第 i 个萌点可以给 mz 贡献 $a_i$ 的萌度。
除此之外,每一对萌点 (i,j) 都有一个和( yao )谐( rao )值 $b_{i,j}$ ,用来表示 mz **共同拥有**萌点 i 和萌点 j 时贡献的萌度。这里不妨假设粉毛编号为 1 ,白毛编号为 2 ,绿瞳编号为 3 ,双马尾编号为 4 。例如小 O 认为白毛配双马尾,则 $b_{2,4}$ 会比较大。~~(冲国人均白毛控~~ 再比如小 O 认为粉毛不配绿瞳,则 $b_{1,3}$ 会比较小,甚至会是负数。
另外,萌点与萌点之间会出现冲突。(如一个 mz 不能既粉毛又白毛)所以每一对萌点 (i,j) 都有一个冲突值 $c_{i,j}$ 。还是以上面为例,**如果萌点 i 和萌点 j 冲突,则** $c_{i,j}=1$ ,也就是说 $c_{1,2}=1$ 。反之,**如果不冲突,则** $c_{i,j}=0$ ,例如一个 mz 可以既有粉毛又有绿瞳,(只不过小 O 会觉得丑而嫌弃)所以 $c_{1,3}=0$ 。小 O 的 mz 拥有的萌点中**任意一对萌点 (i,j) 都必须满足** $c_{i,j}=0$ ~~(显而易见)~~
一个 mz 的萌度总和等于**其所有萌点的萌度总和,再加上每一对萌点的和谐值总和**,也就是 $\underset{i=1}{\overset{n}{\sum}}a_i+\underset{i=1}{\overset{n}{\sum}}\underset{j=1}{\overset{n}{\sum}}b_{i,j}$ 。一个 mz 的萌度越大,在小 O 的心目中就会越可♂爱。
小 O 希望你给出他要画( liao )的 mz 的萌点和这个 mz 的萌度总和,使得这个二次元 mz **尽量**可( xiang )爱( ta )亿( lao )点( po )。请你帮小 O 圆他的 m ♂ z ♂梦。
输入格式
第一行一个整数 n ,表示萌点的数量。
第二行 n 个数,用空格分隔,第 i 个数表示 $a_i$ 。
接下来 n 行,每行 n 个数,用空格分隔,第 i 行的第 j 个数表示 $b_{i,j}$ 。**数据保证对于所有的** $1\leq i\leq n,1\leq j\leq n$ **,都有** $b_{i,j}=b_{j,i},b_{i,i}=0$ 。
接下来 n 行,每行 n 个数,用空格分隔,第 i 行的第 j 个数表示 $c_{i,j}$ 。**数据保证对于所有的** $1\leq i\leq n,1\leq j\leq n$ **,都有** $c_{i,j}=c_{j,i},c_{i,i}=0$ 。
输出格式
输出共两行。
第一行一个整数,表示 mz 的萌度总和。
第二行几个整数,用空格分隔,表示小 O 要画的 mz 的每一个萌点的编号,**要从小到大按顺序输出**。**如果有多种方案,输出字典序最小的一种**。
说明/提示
数据暂时没有,敬请期待 qwq 。
另外祝大家 10.10 世萌节快乐~