結果
問題 | No.5003 物理好きクリッカー |
ユーザー |
![]() |
提出日時 | 2018-12-02 15:29:52 |
言語 | C (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 309 ms / 10,000 ms |
コード長 | 1,520 bytes |
コンパイル時間 | 288 ms |
実行使用メモリ | 22,008 KB |
スコア | 65,653,723,830 |
平均クエリ数 | 10000.00 |
最終ジャッジ日時 | 2021-07-19 07:54:07 |
合計ジャッジ時間 | 13,624 ms |
ジャッジサーバーID (参考情報) |
judge15 / judge11 |
純コード判定しない問題か言語 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 32 |
コンパイルメッセージ
main.c:6:1: 警告: データ定義が型または記憶域クラスを持っていません 6 | bspeeds[]={1,10,120,2000,25000}; | ^~~~~~~ main.c:6:1: 警告: 型がデフォルトの ‘int’ に ‘bspeeds’ の宣言内でなります [-Wimplicit-int] main.c:7:1: 警告: データ定義が型または記憶域クラスを持っていません 7 | bprices[]={150,2000,30000,600000,10000000}; | ^~~~~~~ main.c:7:1: 警告: 型がデフォルトの ‘int’ に ‘bprices’ の宣言内でなります [-Wimplicit-int] main.c:29:1: 警告: 戻り値の型をデフォルトの ‘int’ にします [-Wimplicit-int] 29 | main(){ | ^~~~ main.c: 関数 ‘main’ 内: main.c:30:2: 警告: implicit declaration of function ‘gets’; did you mean ‘fgets’? [-Wimplicit-function-declaration] 30 | gets(buf); | ^~~~ | fgets /tmp/ccPvmZlK.o: In function `main': main.c:(.text.startup+0x27): warning: the `gets' function is dangerous and should not be used.
ソースコード
#include <stdio.h> #define long long long char const* fnames[]={"hand","lily","factory","casino","grimoire"}; bspeeds[]={1,10,120,2000,25000}; bprices[]={150,2000,30000,600000,10000000}; char const*action="AABBBBBBCBBDDBDBDADBDEDDFFFDFDCBBBFBFGFFHHBHBDHHHBBIHBJJJBEBBJJJCBBBBBKBBAGI"; char buf[20000]; long buy_price(long base,int num){ long price=base; for(;num--;){ price=(price*6+4)/5; } return price; } long rein_price(long base,int lvl){ long price=base; for(;lvl--;){ price*=10; } return price; } main(){ gets(buf); gets(buf); long cookie=0; int cl=0; int n[5]={0,0,0,0,0}; int l[5]={0,0,0,0,0}; for(int turn=0;turn<10000;++turn){ // action int done=0; int a=*action; if(a=='A'){ // enhclick int price=rein_price(15,cl); if(cookie>=price){ cookie-=price; cl+=1; done=1; puts("enhclick"); } }else if(a>='B'&&a<='K'){ int i=a-'B'>>1; if(a&1){ // reinforce int price=rein_price(bprices[i]*10,l[i]); if(cookie>=price){ cookie-=price; l[i]+=1; done=1; printf("reinforce %s\n",fnames[i]); } }else{ // buy int price=buy_price(bprices[i],n[i]); if(cookie>=price){ cookie-=price; n[i]+=1; done=1; printf("buy %s\n",fnames[i]); } } } if(done){ ++action; }else{ // click cookie+=1<<cl; puts("click"); } fflush(stdout); gets(buf); // produce for(int i=0;i<5;++i){ cookie+=bspeeds[i]*n[i]<<l[i]; } // event } printf("%lld\n",cookie); }