Python Board
Board
https://ac.nowcoder.com/acm/contest/5803/E
https://ac.nowcoder.com/acm/contest/5803/E
题目描述
恬恬有一个nx n的数组。她在用这个数组玩游戏:
开始时,数组中每一个元素都是0。
恬恬会做某些操作。在一次操作中,她可以将某一行的所有元素同时加上一个值,也可以将某一列的所有元素同时加上一个值。
在几次操作后,一个元素被隐藏了。你能帮助她回忆隐藏的数是几吗?
输入描述
第一行一个整数n(1≤ n≤ 1000)。
接下来n行每行n个整数表示数组a。
第(i+1)行的第j个元素表示aij(aij=-1或0≤ aij ≤ 10000)。-1表示隐藏的元素。
输出描述
仅一个整数表示答案。
示例1
输入
3
1 2 1
0 -1 0
0 1 0
输出
1
思路
data[i][cor_y] - data[i][i]
得到的是第在第i行cor_y列相对于第i列的差值
用同一行的data[cor_x][i]
加上这个差值就是data[cor_x][cor_y]
的真实值
import sys n = int(input()) data = [] for i in range(n): temp = list(map(int, sys.stdin.readline().strip().split())) data.append(temp) try: cor_y = temp.index(-1) cor_x = i except: pass if cor_x == 0 or cor_y == 0: ans = data[cor_x][-1] + data[-1][cor_y] - data[-1][-1] else: ans = data[cor_x][0] + data[0][cor_y] - data[0][0] print(str(ans))