題目描述
小王是公司的倉庫管理員,一天,他接到了這樣乙個任務:從倉庫中找出一根鋼管。這聽起來不算什麼,但是這根鋼管的要求可真是讓他犯難了,要求如下:
1、 這根鋼管一定要是倉庫中最長的;
2、 這根鋼管一定要是最長的鋼管中最細的;
3、 這根鋼管一定要是符合前兩條的鋼管中編碼最大的(每根鋼管都有乙個互不相同的編碼,越大表示生產日期越近)。
相關的資料到是有,可是,手工從幾百份鋼管材料中選出符合要求的那根……
要不,還是請你編寫個程式來幫他解決這個問題吧。
輸入第一行是乙個整數n(n<=10)表示測試資料的組數)
每組測試資料的第一行 有乙個整數m(m<=1000),表示倉庫中所有鋼管的數量,
之後m行,每行三個整數,分別表示一根鋼管的長度(以公釐為單位)、直徑(以公釐為單位)和編碼(乙個9位整數)。
輸出對應每組測試資料的輸出只有乙個9位整數,表示選出的那根鋼管的編碼,
每個輸出佔一行
樣例輸入
2
22000 30 123456789
2000 20 987654321
43000 50 872198442
3000 45 752498124
2000 60 765128742
3000 45 652278122
樣例輸出
987654321
752498124
分析:一開始我看這道題,以為是水題。通過結構體排序然後輸出排序好的第乙個即可。很自信的提交了一發,判題機也很爽快的給我wa掉。原因:輸出超限.......
後來發下原因是把部分變數定義為了全域性變數,改正之後ac了
#include#includeusing namespace std;
typedef long long ll;
struct tube//定義儲存管道資訊的結構體
tube[1000];
bool cmp(tube a,tube b)//定義排序方法
int main()
sort(tube+1,tube+n+1,cmp);//對鋼管進行排序
printf("%lld\n",tube[1].num);輸出符合要求的鋼管
}}
那麼,我們能不能在每次輸入時就能對資料進行比較呢?
方法二:
我們可以先定義乙個暫存資料用於訪問最大資料,然後對每次輸入進行比較
#includetypedef long long ll;
ll len,wid,num,i,j,k,t,n,tlen,twid,tnum;
int main()
} printf("%lld\n",tnum);//輸入最終符合條件的資料
}}
nyoj 263 精挑細選
時間限制 3000 ms 記憶體限制 65535 kb 難度 1 描述 小王是公司的倉庫管理員,一天,他接到了這樣乙個任務 從倉庫中找出一根鋼管。這聽起來不算什麼,但是這根鋼管的要求可真是讓他犯難了,要求如下 1 這根鋼管一定要是倉庫中最長的 2 這根鋼管一定要是最長的鋼管中最細的 3 這根鋼管一定...
nyoj263精挑細選
這道題思路應該不少,這類題也很常見,就是有三個量讓你進行比較,按照一定的順序和一定的規則進行排布,然後輸出相關的量,這道題我一共有兩種方法,第一種比較繁瑣,但是就是熟練一下類的使用,第二種是比較簡單的方法,我都貼上,你可以比較一下。精 挑 細 選 時間限制 3000 ms 記憶體限制 65535 k...
1172 精 挑 細 選
精 挑 細 選 time limit 1000ms memory limit 65536k total submit 38 accepted 28 description 小王是公司的倉庫管理員,一天,他接到了這樣乙個任務 從倉庫中找出一根鋼管。這聽起來不算什麼,但是這根鋼管的要求可真是讓他犯難了,...