#16600: LTE 注意兩件事情


josephsih (Joseph)

學校 : 不指定學校
編號 : 90726
來源 : [118.168.6.158]
最後登入時間 :
2020-03-15 19:20:23
a291. nAnB problem | From: [114.36.210.177] | 發表日期 : 2019-01-20 14:44

如果你得到 LTE 的測試結果,可以從兩個方向改進:

1. 使用 scanf 代替  cin, 以及使用 printf 代替 cout,很多人都已經提到這一點。

2. 你的最上層的迴圈,要能偵測到測試資料已經結束,這樣的程式碼看起來會像是

    while (scanf("%d %d %d %d", &a[0], &a[1], &a[2], &a[3]) == 4) {

        .... // 讀取 n 及 n組嘗試的密碼,然後加以處理

    }

  特別注意上面的 == 4

  也可以寫成 > 0

  但是如果你寫成底下的形式,那迴圈就不會結束,一定會 LTE

    while (scanf("%d %d %d %d", &a[0], &a[1], &a[2], &a[3])) {

    }

  這個原因是測資跑完時,scanf()會回傳 -1 (或是 EOF),這並不會讓 while 迴圈結束喔!

 

 
#16601: Re:LTE 注意兩件事情


anandrewboy70900 (ShowTsai)

學校 : 國立中央大學
編號 : 27736
來源 : [203.204.218.144]
最後登入時間 :
2024-10-11 16:21:37
a291. nAnB problem | From: [123.195.139.140] | 發表日期 : 2019-01-20 14:48

 

題外話

是TLE (X




 
#16603: Re:LTE 注意兩件事情


josephsih (Joseph)

學校 : 不指定學校
編號 : 90726
來源 : [118.168.6.158]
最後登入時間 :
2020-03-15 19:20:23
a291. nAnB problem | From: [42.72.168.63] | 發表日期 : 2019-01-20 16:14

 

題外話

是TLE (X





是TLE,謝謝更正!

 
ZeroJudge Forum