[ACM] 在UVa Online Judge的標準???

看板C_and_CPP作者 (笨笨鳥慢慢飛)時間15年前 (2010/07/21 00:34), 編輯推噓5(5011)
留言16則, 9人參與, 最新討論串1/1
題號:100 遇到的問題:無止境的wrong answer 有問題的code: #include<iostream> using std::cin; using std::cout; using std::endl; int main(void) { int i=0,j=0; while(cin>>i>>j) { int t=0,mt=0,count=0; for(int k=i;k<=j;k++) { count=k; t=1; while(count!=1) { if(count%2==0) { count=count/2; t++; } else { count=3*count+1; t++; } } if(t>mt) { mt=t; } } cout<<i<<" "<<j<<" "<<mt<<endl; } return 0; } 補充說明: 這題會輸入i和j兩個變數為範圍,然後我們要求的是在這範圍內最長的cycle-length 第一次我寫完傳上去後,很快的得到了wrong answer,一陣錯愕 拿去問老師,老師說那網站的數據可能不只有一組而已 我想,所以要設一個迴圈讓他測試到開心是吧,然後我就愣住了 怎麼判斷他開心了沒? 以前類似的東西只用過while(!input.eof()){.....} 不過這是有開檔關檔時的啊,UVa那要開關檔也不知道要開什麼檔 所以我就自殺似的寫了個while(1)上去,果然,時間超過了 雖然cin好像也可以呼叫出eof(),但我記得助教說那只是繼承來的空殼子,無用 所以,其實我最想知道的還是UVa那上面的格式到底要怎樣才OK 小弟大一剛結束,只好來請教各路高手啦 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.161.223.53

07/21 00:39, , 1F
你的助教講錯了...eof()還是能用的
07/21 00:39, 1F

07/21 00:40, , 2F
echo "input redirect to cin" | test.exe
07/21 00:40, 2F

07/21 00:40, , 3F
驚!!!那功能是什麼???
07/21 00:40, 3F

07/21 00:58, , 4F
while(cin >> i >> j)
07/21 00:58, 4F

07/21 01:11, , 5F
那叫 IO redirection, 不要用 eof 好嗎? 測資後面來個
07/21 01:11, 5F

07/21 01:11, , 6F
換行字元就全炸光了
07/21 01:11, 6F

07/21 02:21, , 7F
基本上每題的要求都不一樣.. 有些題目開頭會要輸入test
07/21 02:21, 7F

07/21 02:21, , 8F
case 數目,就不用這麼麻煩
07/21 02:21, 8F

07/21 02:22, , 9F
一般未知有幾組測資的我也是習慣四樓那種寫法
07/21 02:22, 9F

07/21 02:48, , 10F
while(cin>>i>>j)不會無限迴圈嗎?是怎麼判斷結束的?
07/21 02:48, 10F
照板上的說加入while(cin>>i>>j)可是還是WAㄝ~自己電腦跑是無限迴圈 ※ 編輯: stupid2 來自: 118.161.223.53 (07/21 03:02)

07/21 03:57, , 11F
檔案的內容會導向stdin 所以EOF還是有用的吧..
07/21 03:57, 11F

07/21 07:00, , 12F
i比j大的時候要調換
07/21 07:00, 12F

07/21 07:35, , 13F
寫題目之前先搞懂你的語言特性, 不然在解完題之前就先
07/21 07:35, 13F

07/21 07:35, , 14F
被bug搞死
07/21 07:35, 14F

07/21 09:39, , 15F
這題算月經題了 版上搜尋一下 咕狗也找一下吧
07/21 09:39, 15F

07/21 10:07, , 16F
z-9-2
07/21 10:07, 16F
文章代碼(AID): #1CHT0i7P (C_and_CPP)