在自己的電腦操作沒問題,
程式碼丟上來就出錯了。
URL url = new URL("https://zerojudge.tw/ShowImage?id=795");
HttpURLConnection httpConn = null;
httpConn = (HttpURLConnection) url.openConnection();
httpConn.setRequestMethod("GET");
InputStream in = httpConn.getInputStream();
您的程式被監控系統中斷,可能是程式無法正常結束所導致。 Exception in thread "main" java.net.UnknownHostException: zerojudge.tw at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:184) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) at java.net.Socket.connect(Socket.java:589) at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:673) at sun.security.ssl.BaseSSLSocketImpl.connect(BaseSSLSocketImpl.java:173) at sun.net.NetworkClient.doConnect(NetworkClient.java:180) at sun.net.www.http.HttpClient.openServer(HttpClient.java:463) at sun.net.www.http.HttpClient.openServer(HttpClient.java:558) at sun.net.www.protocol.https.HttpsClient.(HttpsClient.java:264) at sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:367) at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:191) at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1156) at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1050) at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:177) at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1564) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492) at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:263) at b455.main(b455.java:29)
一般來說,線上評測系統不會允許對外連網的行為,所以應該是做不到的。
一般來說,線上評測系統不會允許對外連網的行為,所以應該是做不到的。
那大大知道這題要如何解嗎?
請參考 b456 的提示。
感謝大大~
看了很久還是不會寫=.=
請參考 b456 的提示。
感謝大大~
看了很久還是不會寫=.=
我出題者本人啦。
能想到HttpURLConnection實在太專業了,令人欽佩。然而這一題其實是益智遊戲、腦筋急轉彎。你的想法太正經了,這一題的解法其實非常不正經。
你可能會想,解題的第一步不是讀取圖片嗎?這一題不是為了讓我們學會讀取圖片嗎?為什麼ZeroJudge不讓大家寫程式讀取圖片檔案?啊就……這一題不是在考你這件事嘛。
這一題所使用的圖片,就只有那一張圖片,沒有其他圖片了。如果你想要下載圖片到自己電腦,那就按滑鼠右鍵、另存新檔。
你那麼正經,要是你知道解法,搞不好會氣到捶桌子。
http://i.imgur.com/uY6VRsH.gif
嚶嚶嚶嚇死寶寶了。
請參考 b456 的提示。
感謝大大~
看了很久還是不會寫=.=
我出題者本人啦。
能想到HttpURLConnection實在太專業了,令人欽佩。然而這一題其實是益智遊戲、腦筋急轉彎。你的想法太正經了,這一題的解法其實非常不正經。
你可能會想,解題的第一步不是讀取圖片嗎?這一題不是為了讓我們學會讀取圖片嗎?為什麼ZeroJudge不讓大家寫程式讀取圖片檔案?啊就……這一題不是在考你這件事嘛。
這一題所使用的圖片,就只有那一張圖片,沒有其他圖片了。如果你想要下載圖片到自己電腦,那就按滑鼠右鍵、另存新檔。
你那麼正經,要是你知道解法,搞不好會氣到捶桌子。
http://i.imgur.com/uY6VRsH.gif
嚶嚶嚶嚇死寶寶了。
如果是下載到自己電腦裡後再讀取,我也已經做過了,只是ZeroJudge也不可能讀到我電腦的路徑。
所以我才想說乾脆來讀取網頁上的圖片,或許比較可行,結果這條路也行不通......
您的程式被監控系統中斷,可能是程式無法正常結束所導致。 Exception in thread "main" java.io.FileNotFoundException: C:\Users\a0970\eclipse-workspace\ZeroJudge\ShowImage.png (No such file or directory) at java.io.FileInputStream.open0(Native Method) at java.io.FileInputStream.open(FileInputStream.java:195) at java.io.FileInputStream.(FileInputStream.java:138) at java.io.FileInputStream.(FileInputStream.java:93) at b455.main(b455.java:12)
大家上傳到ZeroJudge的程式,被管理員設定成不能讀取ZeroJudge伺服器的檔案,也不能對外連線到你的、我的、其他人的電腦。
另一方面,你的電腦也自動禁止別人連線進來讀取檔案,除非你刻意修改作業系統設定:關閉防火牆、開啟遠端連線、打開通訊埠、……。
這些人為的限制,都是為了資訊安全,要不然人人都能隨隨便便侵入別人電腦竊取檔案了。
通常大家都會很快查覺到上述情況,甚至還沒上傳程式碼就能推理出上述情況了。大家發現「上傳程式碼、連線/離線讀取圖片檔案、印出輸出」這種標準套路是行不通的。大家又發現「OJ是讓大家練程式,可是這題好像不是在練程式,莫非是其他的什麼」。到這裡為止,是你目前的解題進度。
於是大家就會再進一步想其他方法。比方說:一、駭入ZeroJudge竊取輸出資料。二、把ZeroJudge管理者約出來輸贏,找一群8+9助陣,用電擊棒電他、拿球棒槌他,叫他回去把你的上傳結果改成AC。三、上網徵求AC程式碼。叫記者來採訪,找民意代表出面,寄陳情信給總統,把事情鬧大、求關注。四、將圖片交給資訊專家鑑定,請資訊專家告訴你RGB像素值。五、使用特殊的文字編輯器軟體,例如UltraEdit,開啟圖片檔案,從十六進位碼來推敲RGB值。
方法隨便想都嘛有,有錢有人脈,凡事都好喬。雖說如此,這一題其實不需要上面這些複雜的方法,但是這一題也絕非你那種天真無邪的方法。稍微再想想吧。
簡單說就是在自己電腦解出答案,把答案包進你的程式碼,不過應該很容易就發現這解答要動點手腳才塞得進去
簡單說就是在自己電腦解出答案,把答案包進你的程式碼,不過應該很容易就發現這解答要動點手腳才塞得進去
回錯篇 應該是要回454 算了
有試過直接輸出答案,其他兩題,程式碼好像會過長。
暫時沒想法,放棄~~