現在有很多長方形,每乙個長方形都有乙個編號,這個編號可以重複;還知道這個長方形的寬和長,編號、長、寬都是整數;現在要求按照一下方式排序(預設排序規則都是從小到大);
1.按照編號從小到大排序
2.對於編號相等的長方形,按照長方形的長排序;
3.如果編號和長都相同,按照長方形的寬排序;
4.如果編號、長、寬都相同,就只保留乙個長方形用於排序,刪除多餘的長方形;最後排好序按照指定格式顯示所有的長方形;
第一行有乙個整數 0複製181 1 1
1 1 1
1 1 2
1 2 1
1 2 2
2 1 1
2 1 2
2 2 1
1 1 11 2 1
1 2 2
2 1 1
2 2 1
n = int(input())
for i in range(n):
lt =
m = int(input())
for j in range(m):
d = {}
num = input()
num_list = num.split(' ')
d['number'] = int(num_list[0])
if int(num_list[1]) > int(num_list[2]):
d['width'] = int(num_list[1])
d['height'] = int(num_list[2])
else:
d['width'] = int(num_list[2])
d['height'] = int(num_list[1])
for i1 in range(len(lt) - 1):
for j1 in range(len(lt) - i1 - 1):
if lt[j1]['number'] > lt[j1 + 1]['number']:
t = lt[j1]
lt[j1] = lt[j1 + 1]
lt[j1 + 1] = t
elif lt[j1]['number'] == lt[j1 + 1]['number']:
if lt[j1]['width'] > lt[j1 + 1]['width']:
t = lt[j1]
lt[j1] = lt[j1 + 1]
lt[j1 + 1] = t
elif lt[j1]['width'] == lt[j1 + 1]['width']:
if lt[j1]['height'] > lt[j1 + 1]['height']:
t = lt[j1]
lt[j1] = lt[j1 + 1]
lt[j1 + 1] = t
elif lt[j1]['height'] == lt[j1 + 1]['height']:
lt[j1]['number'] = 0
lt[j1]['width'] = 0
lt[j1]['height'] = 0
for dt in lt:
if dt['number'] != 0:
print(dt['number'],dt['width'],dt['height'],sep=' ')
NYOJ 一種排序問題
時間限制 3000 ms 記憶體限制 65535 kb 難度 3 描述 現在有很多長方形,每乙個長方形都有乙個編號,這個編號可以重複 還知道這個長方形的寬和長,編號 長 寬都是整數 現在要求按照一下方式排序 預設排序規則都是從小到大 1.按照編號從小到大排序 2.對於編號相等的長方形,按照長方形的長...
NYOJ 8 一種排序(排序)
一種排序 時間限制 3000 ms 記憶體限制 65535 kb 難度 3 描述現在有很多長方形,每乙個長方形都有乙個編號,這個編號可以重複 還知道這個長方形的寬和長,編號 長 寬都是整數 現在要求按照一下方式排序 預設排序規則都是從小到大 1.按照編號從小到大排序 2.對於編號相等的長方形,按照長...
一種排序NYOJ 8
時間限制 3000 ms 記憶體限制 65535 kb 難度 3 描述 現在有很多長方形,每乙個長方形都有乙個編號,這個編號可以重複 還知道這個長方形的寬和長,編號 長 寬都是整數 現在要求按照一下方式排序 預設排序規則都是從小到大 1.按照編號從小到大排序 2.對於編號相等的長方形,按照長方形的長...