NYOJ 精 挑 細 選

2021-09-30 19:41:05 字數 1415 閱讀 9053

題目描述

小王是公司的倉庫管理員,一天,他接到了這樣乙個任務:從倉庫中找出一根鋼管。這聽起來不算什麼,但是這根鋼管的要求可真是讓他犯難了,要求如下:

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 小王是公司的倉庫管理員,一天,他接到了這樣乙個任務 從倉庫中找出一根鋼管。這聽起來不算什麼,但是這根鋼管的要求可真是讓他犯難了,...