输入描述:
输入数据按下列顺序输入:
1 表格的行列值
2 要交换的两个单元格的行列值
3 输入要插入的行的数值
4 输入要插入的列的数值
5 输入要查询的单元格的坐标
输出描述:
输出按下列顺序输出:
1 初始化表格是否成功,若成功则返回0, 否则返回-1
2 输出交换单元格是否成功
3 输出插入行是否成功
4 输出插入列是否成功
5 输出查询单元格数据是否成功
输入:
4 9
5 1 2 6
0
8
2 3
4 7
4 2 3 2
3
3
4 7
输出:
0
-1
0
-1
0
0
-1
0
0
-1
说明:
本组样例共有2组样例输入。
第一组样例:
1.初始化数据表为4行9列,成功
2.交换第5行1列和第2行6列的数据,失败。因为行的范围应该是(0,3),不存在第5行。
3.在第0行上方添加一行,成功。
4.在第8列左边添加一列,失败。因为列的总数已经达到了9的上限。
5.查询第2行第3列的值,成功。
第二组样例:
1.初始化数据表为4行7列,成功
2.交换第4行2列和第3行2列的数据,失败。因为行的范围应该是(0,3),不存在第4行。
3.在第3行上方添加一行,成功。
4.在第3列左边添加一列,成功。
5.查询第4行7列的值,失败。因为虽然添加了一行一列,但数据表会在添加后恢复成4行7列的形态,所以行的区间仍然在[0,3],列的区间仍然在[0,6],无法查询到(4,7)坐标。
import sys
all = []
for line in sys.stdin:
a = line.split()
all.append(a)
for i in range(int(len(all)/5)):
b = all[i*5:5*(i+1)]
m,n = map(int,b[0])
if m <= 9 and n <= 9:
l = [[0]*n]*m
print(0)
else:
m = m if m <= 9 else 9
n = n if n <= 9 else 9
print(-1)
x1, y1, x2, y2 = map(int, b[1])
if x1 < m and x2 < m and y1 < n and y2 < n:
print(0)
else:
print(-1)
x = int(b[2][0])
if x >= 0 and x <= m-1 and m+1 <=9:
print(0)
else:
print(-1)
y = int(b[3][0])
if y >= 0 and y <= n-1 and n+1 <= 9:
print(0)
else:
print(-1)
x,y = map(int,b[4])
if x >= 0 and x <= m-1 and y >= 0 and y<= n-1:
print(0)
else:
print(-1)
586

被折叠的 条评论
为什么被折叠?



