Re: ACM 10789 ... 又是一個Wrong Answer
嗯...雖然解出來了,不過有個時間最佳化的問題,
這是一小段code
//如果字元出現次數為質數,則印出該字元
for(int i=48;i<ASCII_PRINTABLE_MAX;i++){
if(ascii[i]>1 && isPrime(ascii[i])){
prime=true;
putchar(i);
}
本來把"字元出現次數"歸零的工作
,是放在下面,不過我想在這邊順便
歸零,於在這邊是加入這段
mascii[i]=0;
,然後把下面綠色的拿掉。結果我自己試
ok,送出去又不行了...看起來從if後面把ascii[*]
歸零都可以啊
}
//若沒有出現次數為質數的字元,印出empty
if(!prime)
cout<<"empty";
putchar('\n');
prime=false;
//字元出現次數歸零
for(int i=48;i<ASCII_PRINTABLE_MAX;i++)
ascii[i]=0;
}
完整+色彩標示的code
http://costbook.googlepages.com/10789-3_cpp.html
※ 引述《ledia (contemplation)》之銘言:
: ※ 引述《costbook (CB)》之銘言:
: : char ascii[ASCII_PRINTABLE_MAX];
: 如果出現次數大於 128, 甚至 256
: 用一個 char/unsigned char 就計不下了
: 所以你 2001 剛好是對的真的運氣很好
: 我用 1999 測, 你的程式就錯啦 :p
: 我以前也死在這種小地方過 Orz
: 重點就是多測點測資, 看看有沒有異常囉
--
年度6大搞笑發言
同學A:機械式鍵盤耶,好爛喔... │同學D:這是個4對16的多工器
同學B:腳踏車也有碟煞喔,騙誰...│同學E:我要寫遊戲外掛
同學C:iPod的音質很好 │同學F:C++除了class,根本就和C一樣
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.139.153.131
→
07/03 20:13, , 1F
07/03 20:13, 1F
→
07/03 20:13, , 2F
07/03 20:13, 2F
→
07/03 20:13, , 3F
07/03 20:13, 3F
→
07/03 20:13, , 4F
07/03 20:13, 4F
→
07/03 20:13, , 5F
07/03 20:13, 5F
→
07/03 20:13, , 6F
07/03 20:13, 6F
→
07/03 20:27, , 7F
07/03 20:27, 7F
推
07/03 21:01, , 8F
07/03 21:01, 8F
→
07/03 21:01, , 9F
07/03 21:01, 9F
→
07/03 21:02, , 10F
07/03 21:02, 10F
→
07/03 21:02, , 11F
07/03 21:02, 11F
→
07/03 21:03, , 12F
07/03 21:03, 12F
→
07/03 21:03, , 13F
07/03 21:03, 13F
→
07/03 21:04, , 14F
07/03 21:04, 14F
推
07/03 21:07, , 15F
07/03 21:07, 15F
推
07/03 21:16, , 16F
07/03 21:16, 16F
→
07/03 21:16, , 17F
07/03 21:16, 17F
→
07/03 21:17, , 18F
07/03 21:17, 18F
→
07/03 21:18, , 19F
07/03 21:18, 19F
→
07/03 21:19, , 20F
07/03 21:19, 20F
→
07/03 21:19, , 21F
07/03 21:19, 21F
→
07/03 21:20, , 22F
07/03 21:20, 22F
→
07/03 21:21, , 23F
07/03 21:21, 23F
→
07/03 21:21, , 24F
07/03 21:21, 24F
推
07/03 21:27, , 25F
07/03 21:27, 25F
推
07/03 21:45, , 26F
07/03 21:45, 26F
→
07/03 21:46, , 27F
07/03 21:46, 27F
↑我自己發文的...我幹嘛用推文回啊
※ 編輯: costbook 來自: 220.139.153.131 (07/03 21:48)
推
07/03 21:49, , 28F
07/03 21:49, 28F
→
07/03 21:49, , 29F
07/03 21:49, 29F
推
07/03 22:36, , 30F
07/03 22:36, 30F
推
07/03 23:14, , 31F
07/03 23:14, 31F
推
07/03 23:51, , 32F
07/03 23:51, 32F
這個...我寫出來的篩法....好像不太對,
雖然拿了accpeted...
//利用篩法清除非質數
inline void sievePrime(int *ptr){
for(int i=2;i<2001;i++){
if(i*i>=2001/2)
break;
for(int j=48;j<ASCII_PRINTABLE_MAX;j++){
if(ptr[j]==1)
ptr[j]=0;
else if(ptr[j]==2);
else if(ptr[j]>i && ptr[j]%i==0)
ptr[j]=0;
}
}
}
※ 編輯: costbook 來自: 220.139.153.35 (07/04 15:42)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章