/*
一種排序
時間限制:3000 ms | 記憶體限制:65535 kb
難度:3
描述 現在有很多長方形,每乙個長方形都有乙個編號,這個編號可以重複;還知道這個長方形的寬和長,編號、長、寬
都是整數;現在要求按照一下方式排序(預設排序規則都是從小到大);
1.按照編號從小到大排序
2.對於編號相等的長方形,按照長方形的長排序;
3.如果編號和長都相同,按照長方形的寬排序;
4.如果編號、長、寬都相同,就只保留乙個長方形用於排序,刪除多餘的長方形;最後排好序按照指定格式顯示所有的長方形;
輸入 第一行有乙個整數 0//否則查詢該長方形應插入到排好序的序列中的位置,最後移位進行插入
//最近常到南陽理工的acm**去a題了,雖然題大多都不太難,但每當做完一道題,心裡都有一種說不出的愉悅。
//程式本身應該也不難,應該是自己的方法選得不對才導致程式寫得這麼難看,改了大半天,好在最後還是ac了,還是挺開心的
//程式中還多處用到了goto,,沒辦法呀,想從多重巢狀的for迴圈中一下子跳出來,還是用goto最省事了。
//網上應該有很多寫得更好的**,我等下也去看看別人寫的。
#include
using namespace std;
const int m = 1000;
int main()
for (i = 1; i < m; i++)
else if((width > a[j][2] && length == a[j][1] && number == a[j][0])
|| (length != a[j][1]) || (number != a[j][0])) }
if (j == -1)
goto loop;
} else if((length > a[j][1] && number == a[j][0]) || (number != a[j][0])) }
if (j == -1)
goto loop;
} else if (number > a[j][0]) }
loop:
if (j == -1) //如果插入的位置為最前
a[0][0] = number;
a[0][1] = length;
a[0][2] = width;
mask++;
} else
a[j+1][0] = number;
a[j+1][1] = length;
a[j+1][2] = width;
mask++;
} lop: ;
} for (i = 0; i < mask; i++) }
return 0;
}
南陽 oj 一種排序 題目8
時間限制 3000 ms 記憶體限制 65535 kb 難度 3 描述 現在有很多長方形,每乙個長方形都有乙個編號,這個編號可以重複 還知道這個長方形的寬和長,編號 長 寬都是整數 現在要求按照一下方式排序 預設排序規則都是從小到大 1.按照編號從小到大排序 2.對於編號相等的長方形,按照長方形的長...
南陽oj 一種排序 set
描述 現在有很多長方形,每乙個長方形都有乙個編號,這個編號可以重複 還知道這個長方形的寬和長,編號 長 寬都是整數 現在要求按照一下方式排序 預設排序規則都是從小到大 1.按照編號從小到大排序 2.對於編號相等的長方形,按照長方形的長排序 3.如果編號和長都相同,按照長方形的寬排序 4.如果編號 長...
南陽理工ACM《另一種階乘問題》65
時間限制 3000 ms 記憶體限制 65535 kb 難度 1 描述大家都知道階乘這個概念,舉個簡單的例子 5!1 2 3 4 5.現在我們引入一種新的階乘概念,將原來的每個數相乘變為i不大於n的所有奇數相乘例如 5 1 3 5.現在明白現在這種階乘的意思了吧!現在你的任務是求出1 2 n 的正確...