/ OPS / 题库 /

Tri-Tri-Tri

Tri-Tri-Tri

#描述#
<p>2010年我们ZJUTACM的一队名字叫做TripleTower,其中前缀Triple是三倍、三人、三元组的意思,反正都离不开一个三字,现在你要面临的同样是一个Tri开头的东西——Triangle!</p>
<p>画面转向ZJUT:现在是公元2011年,某一个风和日丽的下午,ZJUT近期焦点人物余二爷骑着他那风尘仆仆的捷安特660,在浙江工业大学以45度仰望天空的姿势把整个校园逛了个遍。当然,他的真实野心其实是勘测ZJUT的地图,所以余二爷选取了ZJUT的n个地点设立了标记(0~n-1),余二爷发现有时候有的地方是骑不到的,于是他把所有的地图简化成了一个大小为n的01矩阵A,如果地点i到地点j余二爷可以通行的话,那么A[i][j]就标记成1,否则就是标记成0。</p>
<p>当然,余二爷也忘不了那年,那个夏天,那个让他线性代数挂科的兢兢业业的张老师,带着鄙视的眼神余二爷很快地算出了A·A(A^2),A·A·A(A^3),……,A·A·……·A(A^n)并写在一张纸上。(怕你没学过线性代数,余二爷友情提供公式一条:C = A·B 当且仅当 C[i][j] = sigma(A[i][k] * B[k][j]))。</p>
<p>结果某一天,余二爷很二的犯了“二病”(至于余二爷是不是有“二病”,不管你信不信,反正我是信了,至于他为什么得了“二病”,我只能说这是一个奇迹。),不小心把纸给弄湿了,余二爷赶紧把纸烘干,结果欲哭无泪的发现上面只剩下一个角还能辨认出完整的一个矩阵A^3,其他的都已经无法辨认了,而俞领导让他来工大勘探的实际是工大的地图上有多少个Triangle(Triangle(i, j, k)定义为:A[i][j] = A[j][k] = A[k][i] = 1),如果达不成任务的话,就会引发“领导很生气,后果很严重”的结果。在走投无路的时候,余二爷遇见了聪明的你,渴求你指点他那悲剧的线性代数,请你帮他算一下,到底有多少个Triangle呢?再不过这题的话,余二爷就没救了!!!亲~~~,赶紧来救余二爷吧,前100个AC的还送罚时若干哦~包邮的哦~~~。</p>

#格式#
##输入格式##
俞领导的要求很多,于是余二爷设立标记的地点也经常在变,对于领导的每个要求,首先余二爷会告诉你设立标记的地点数n(1&lt=n&lt=500),然后接着告诉你仅剩下的一个矩阵A^3(元素都在[0,2^31]以内)。当n=0时,表示俞领导不问了,程序结束。

##输出格式##
对于俞领导的每个要求,每次输出该次要求的Triangle个数给余二爷看,占一行。

#样例1#
##样例输入1##

3
2 3 3
3 2 3
3 3 2
0

##样例输出1##

1

#限制#
1000ms
32768KB

#提示#
利用超级无敌暴力法可得样例中的A^3对应的A其实是[(0 1 1),(1 0 1
),(1 1 0)],所以里面只有Triangle(0, 1, 2)。

#来源#
LCS

信息

ID
1866
难度
5
分类
category1 点击显示
标签
递交数
0
已通过
0
通过率
?
上传者