看板 b97902HW 關於我們 聯絡資訊
在這邊補充一下。 文末會附錄一下比較簡單的題目…如果有另外的需求可以私下聯絡, 我可以幫忙找題目這樣~ 首先大家比較需要知道的是,有種整數型態名為 long long, int 範圍只到 2^31 - 1 (2147483647,建議大家背起來) long long 則到 2^63 - 1 (約 19 位,詳細數字就不那麼重要了) 使用時在 Dev C 底下需用 %I64d 來輸入輸出,上傳時務必改為 %lld(L小寫) 絕大多數題目會有多重輸入,即一份輸入檔具有多組測試資料, 如果你的程式只能讀入一組,抱歉那死定啦。 另外觀察發現大部份人都在宣告變數時初始化,碰到這種也是死定啦。 如果不是在要用之前初始化,那麼可能第一組有初始化、第二組就延續第一組的結果了。 有些會告訴你有幾組,有些則要輸入到 EOF (End Of File) 為止, 這裡只講解後者,前者相信大家都會。 首先,告訴大家何謂 EOF。凡檔案必為有限大小之物,因此必有結尾。 若輸入到了檔案的結尾,則可知不可能再有任何輸入,稱之為 EOF。 如果是雙班的話,今天就有提到、作業也需要用到了。 循環輸入至 EOF 的寫法約有兩種: 一、 while(scanf("%d%d", &a, &b) == 2) scanf() 回傳值為正確輸入到變數去的個數,所以若為 2 表示有正確讀入 兩個整數,故執行之;若無則結束。 二、 while(scanf("%d%d", &a, &b) != EOF) EOF 值為 -1,當讀入已到檔案結尾時便會回傳 EOF 以告知。 因此當不是 EOF 時,則繼續執行。 另外有些題目會要求「每組測試資料後」或「每組測資間」要有一個空白行。 觀察知大部份人的 code 在最後一行都沒有加上 \n 的習慣, 其實這是不好的習慣,善良的批改娘不會管它,可是面對邪惡的 ACM 的話, 多或少一個換行都是致死的錯誤,因此請小心。 \n 代表著一行的結束,所以如果寫作這樣: abc\n /* 在此為了讓大家看清楚,斷行均以 \n 代表。 */ 乍看下會多一行?事實上沒有喔。只不過是結束了 abc 這行進入下一行, 卻沒有所謂的「空白行」喔。事實上不結束最後一行,應該也會被 ACM 判死刑。 所謂的每組測試資料後留一空白行,像這樣: abc\n \n bcd\n \n 輸出的地方應該是: printf("ans\n\n"); 第一個 \n 只是結束目前這行,第二個 \n 才真正造成空白行的出現。 測試資料間留一空白行比較困難,由於兩組間嘛,所以如果有 N 組, 則只有 N-1 個空白行,因此要看頭尾。 可是如果不知道測資還有幾組,也就是以 EOF 判斷的, 那只能判斷是不是頭囉,否則無法判斷是否為尾。 因此除了第一組測資外,其它組都在前面先輸出一個空白行,這樣就可以了~ 另外,就是請大家多小心 ACM 的陰險測資啦。 所以要特別注意例外、或是邊界等等,不過經驗累積多了(被陰慣)後, 看到題目時就會想得比別人周到、比別人細心唷XD 以下是我個人覺得比較好寫、又不用什麼演算法基礎等就可以寫的東西XD 當然有排序就多很多題目可以寫了…之後再幫大家找吧XD 也歡迎大家來補充~ 隨文附上 Lucky 貓死掉時,目前世界上最完整的鏡象 http://zion.tfcis.org/~sa072686/LuckyCat 以及有相當豐富 ACM 相關討論的官方討論板 http://online-judge.uva.es/board/index.php 以及我在其它地方的個板,均有不少 ACM 相關資料,板名均同 ID 為 sa072686 telnet://sony.tfcis.org 比較推這裡,初階到進階都有,不過都還是有一定水準 telnet://fgisc.twbbs.org 這些都是後期衝的題目,難度均不低,初學較不推薦 其它還有不少不錯的連結,也都可以在這裡面找到。 ---- 以下為推薦入門用題的題號 ---- 10656 10879 993 621 11219 11240 636 11340 11292 10055 11172 11183 10071 10300 591 272 458 10970 11078 10678 113 10491 10176 10931 10921 575 10019 10260 10116 10374 10338 10190 10281 10227 476 477 10077 11056 10719 10252 10162 541 11074 11150 10346 278 10205 855 121 637 10075 11364 11369 11362 11360 11371 10194 255 11417 869 726 865 11344 11345 11349 11350 11308 11309 ※ 引述《sa072686 (小紅)》之銘言: : ※ [本文轉錄自 b97902xxx 看板] : 作者: anfranion (安弗尼恩) 看板: b97902xxx : 標題: [分享] 所謂的ACM(Uva Online Judge) : 時間: Mon Sep 15 23:50:48 2008 : http://icpcres.ecs.baylor.edu/onlinejudge/index.php : 今天雙班計概課提的↑ : 就是所謂的ACM -- Uva Online Judge : 附上一份介紹用資料,僅供參考′▽`)" : http://203.64.52.212/~anfranion/About_ACM.pdf : 有些地方因為轉檔的問題@@,有點糊掉了,不好意思囧 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.240.202
Catlikethief:辛苦了!! 10/29 00:09
matt7983:耶耶~蜥蜴快點把他收錄精華區XDD 10/29 00:35
matt7983:為什麼看到的畫面很奇怪阿...?orz 10/29 15:52
ming1053:ACM不支援IE的 換Firefox吧XD 10/29 16:13
vanillaXleft:(乍看之下~以為樓樓上再跟樓上的~自言自語 XD) 10/29 17:55
sa072686:比較推opera 10/29 19:17
dennis2030:我的Firefix也不能開...所以只好用Chrome ||| 10/29 21:06
dennis2030: o 手殘了 10/29 21:06
drazi:firefox 2.6.x 可以 在上去就不行了..... 10/29 21:11
benck:firefox 3.0.3可以開 IE7 不能開.. 10/29 21:20
chenaren:推chrome ^^ 10/29 21:21
hrs113355:chrome對flash的支援還不夠成熟:( 不過很輕巧! 10/29 21:26
anfranion:Opera開ACM挺好的 10/29 23:07