#16600: LTE 注意兩件事情


josephsih (Joseph)


如果你得到 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)


 

題外話

是TLE (X




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


josephsih (Joseph)


 

題外話

是TLE (X





是TLE,謝謝更正!