#coding = utf-8
#输入n的坐标点,找不出比它同时X和Y轴都大的点,即输出
#例子:输入n为5
#然后每行入一个点的坐标:2 4 下一行输入 4 5 依次内推 6 3 1 8 2 0
#输出满足条件的坐标 按横坐标排序由小到大输出坐标点
import sys
if __name__ == "__main__":
n=int(sys.stdin.readline().strip())
pointX=[]
pointY=[]
resList=[]
for k in range(n):
line = sys.stdin.readline().strip()
pointX.append(line.split()[0])
pointY.append(line.split()[1])
print "输出结果按X排序,如上则输出为:"
#从第一个值开始,与它后面的值比较,有比它X和Y同时大的,则退出,接着从第二值开始,与它后面的值比较,如果没有比它同时XY都大的,则满足条件
for i in range(n):
for j in range(i+1,n):
if(pointX[i]<pointX[j]) and (pointY[i]<pointY[j]):
break
else:
if(j==(n-1)):
resList.append(list(str(pointX[i])+str(pointY[i])))
else:
continue
#最后一值比较与它前面的值进行比较
for k in range(n-1):
if(pointX[n-1]<pointX[k]) and (pointY[n-1]<pointY[k]):
break
else:
if(k==(n-2)):
resList.append(list(str(pointX[n-1])+str(pointY[n-1])))
else:
continue
resList.sort(key=lambda x:x[0]) #按key排序,value对应变化
for m in range(len(resList)):
print ("%s %s" %(resList[m][0],resList[m][1]))
结果如下截图:
python新手,代码没有做优化,目前先实现功能,如果有问题或错误之处,请留言指正,谢谢~