顯示具有 UVa Online Judge 標籤的文章。 顯示所有文章
顯示具有 UVa Online Judge 標籤的文章。 顯示所有文章

2010年7月18日 星期日

944 Happy Numbers

範圍 1 ~ 99999
( 9^2 ) * 5 = 405
1 ~ 405 共有 67 個 Happy Number

最後卡 WA 的原因是
Print a blank line between two consecutive test cases.

between 而非 after each case ...Orz

2008年10月5日 星期日

10107 What is the Median?

之前解的時候沒有想很多,直接用內建的 qsort 去排序,後來整理
解答的時候才發現換到新系統後,時間會超出限制所以改用
binary insertion sort (應該是),就可以把原本的 TLE 縮減到 0.03 秒,
接下來還有 10170 和 100 要改...Orz

2008年9月26日 星期五

837 Light and Transparencies

題目網頁:http://acm.uva.es/problemset/v8/837.html

因為題目有提到,沒有垂直 X 軸的線 (同一條線的 x1 != x2),所有 film 的兩端也不會重疊 (每個 x 都是獨一無二的點),所以就不必管 y ,將所有的 x 作排序後,再做計算,看看跟哪些 film 有重疊,來計算 r 是多少,不同 segment 的判斷,是由兩端的 x 值來決定,而不是 r ,討論區裡的 sample input 有些是錯誤的,沒有什麼特殊的 input ,不要想太多就可以 AC 了 。

2008年7月7日 星期一

828 Deciphering Messages

題目網頁:http://acm.uva.es/problemset/v8/828.html

莫名其妙卡很久的題目,照題意不難解,只是有些例外要多想一下。

Sample Input:
3

RSAEIO
2
5
RTSSKAEAGE
GRSCAV
RGSSCAV
RUSIQO
RUSSGAACEV JEGIITOOGR

AABBCCDDEEFFGHVXYZ
28
3
AJAAGBNNQ
AAAACBBJBQQ
AZAAABBBB

ABC
5
3
AFBBFCCFA
AXB
AFBBFCCFAAFBBFCCFAAFBBFCCFA

Sample Output:

RICE
error in encryption
EAT
error in encryption
SEAT HERE

HELLO
YAHOO
XYZ

AAA
VSW
AAAAAAAAA

2008年6月18日 星期三

701 The Archeologists' Dilemma

題目網頁:http://acm.uva.es/p/v7/701.html

卡了有點久,看了別人解法才發現這題竟然這麼簡單…
公式如下:
N*10^n < 2^k < (N+1)*10^n
log10(N)+n < k*log10(2) < log10(N+1)+n
log10(N) < k*log10(2)-n < log10(N+1)
find if k exist

另外,k 如果最大值設 32,767 (int)會 WA ,如果設成 2,147,483,647 (long)就可以順利 AC

2008年5月8日 星期四

739 Soundex Indexing

題目網頁:http://online-judge.uva.es/problemset/v7/739.html

我是用 gets() 讀名字進來,結果 WA 了兩三次,後來才發現可能是 EOF 的問題,改成
while(gets(input)!=NULL&&isupper(input[0])!=0)


就順利 AC 了 :)

2008年2月15日 星期五

ACM待解

討論區上說最簡單的題目:
308,316,895,898,10194,10206,10209,10300,10340,10469,10473,10499,10550,10565,10589,10673,10696,10783,10789,10812,10878,10903,10924,10929,10963,11059,11172,11185,10290,10608,10702

想解的:
http://acm.uva.es/p/v1/140.html
http://acm.uva.es/p/v101/10176.html
http://acm.uva.es/p/v110/11020.html
http://acm.uva.es/p/v100/10034.html
http://acm.uva.es/p/v110/11038.html
http://acm.uva.es/p/v103/10307.html
http://acm.uva.es/p/v110/11032.html
http://acm.uva.es/p/v110/11096.html
http://acm.uva.es/p/v100/10094.html
http://acm.uva.es/p/v100/10032.html
http://acm.uva.es/p/v110/11043.html
http://acm.uva.es/p/v110/11045.html
http://acm.uva.es/p/v110/11047.html
http://acm.uva.es/p/v9/944.html
http://acm.uva.es/p/v110/11007.html

ACM 討論區:
http://acm.uva.es/board/

以前的解題紀錄(現在搬到新網站,不能這樣看了):
http://acm.uva.es/problemset/usersnew.php?user=25917&mode=1

2007年7月31日 星期二

832 Financial Risk

題目網頁:http://acm.uva.es/p/v8/832.html

這是我目前做過最心機的題目了,重點在於最後幾句
Your program must write the percentage of uncovered risk, truncated to 2 fractional digits.
原本以為用 %.2lf%% 就可以解決,上傳了10幾遍還是沒辦法,靈機一動才想到這幾句話的意思...

有可能的Output: 30%、11.85%、10.6%

2007年5月10日 星期四

11029 Leading and Trailing

題目網頁

問題:
給定三數字,T代表Case數目(T<1001),n為底(32bit integer),
k則為指數(k<10000001),求nk的前三位與後三位數字(中間以'...'分隔)。

解法:
利用對數來計算前三位,mod 1000取得後三位

應注意部份:
使用scanf()時使用 %lf 才可吃到 double
瞭解 double 與 interger 可存數值上限,並小心別 Overflow

使用到之特殊函數:
log10(),floor(),pow()

ps.如果助教看到這篇的話,不要以為是抄襲啊,我是有修課的學生啊,可以比對一下帳號 :)