結果
問題 | No.301 サイコロで確率問題 (1) |
ユーザー | tails |
提出日時 | 2021-02-24 11:14:01 |
言語 | C (gcc 12.3.0) |
結果 |
AC
|
実行時間 | 1 ms / 1,000 ms |
コード長 | 2,685 bytes |
コンパイル時間 | 782 ms |
コンパイル使用メモリ | 30,080 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-09-24 11:27:05 |
合計ジャッジ時間 | 1,481 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 1 ms
6,812 KB |
testcase_01 | AC | 1 ms
6,944 KB |
コンパイルメッセージ
main.c:110:1: warning: return type defaults to 'int' [-Wimplicit-int] 110 | main(){ | ^~~~ main.c: In function 'main': main.c:137:25: warning: implicit declaration of function 'memcpy' [-Wimplicit-function-declaration] 137 | memcpy(wp,".6666666666\n",12); | ^~~~~~ main.c:1:1: note: include '<string.h>' or provide a declaration of 'memcpy' +++ |+#include <string.h> 1 | #pragma GCC optimize("Ofast") main.c:137:25: warning: incompatible implicit declaration of built-in function 'memcpy' [-Wbuiltin-declaration-mismatch] 137 | memcpy(wp,".6666666666\n",12); | ^~~~~~ main.c:137:25: note: include '<string.h>' or provide a declaration of 'memcpy' main.c:144:25: warning: incompatible implicit declaration of built-in function 'memcpy' [-Wbuiltin-declaration-mismatch] 144 | memcpy(wp,mbd+b*16,16); | ^~~~~~ main.c:144:25: note: include '<string.h>' or provide a declaration of 'memcpy' main.c:148:9: warning: implicit declaration of function 'write' [-Wimplicit-function-declaration] 148 | write(1,wbuf+16,wp-(wbuf+16)); | ^~~~~ main.c:149:9: warning: implicit declaration of function '_exit'; did you mean '_Exit'? [-Wimplicit-function-declaration] 149 | _exit(0); | ^~~~~ | _Exit
ソースコード
#pragma GCC optimize("Ofast") #pragma GCC target("avx2") char*mmap(); char wbuf[1<<28]; const char mbd[]={ "0.0000000000000\n" "6.0000000000000\n" "6.0000000000000\n" "6.0000000000000\n" "6.0000000000000\n" "6.0000000000000\n" "6.0000000000000\n" "9.9431493245813\n" "10.351707214159\n" "10.854714237226\n" "11.489202567069\n" "12.314474731492\n" "13.431807062589\n" "15.029569384604\n" "15.787804576056\n" "16.636758444529\n" "17.577932816676\n" "18.601876299228\n" "19.678420488380\n" "20.741892080344\n" "21.672753270518\n" "22.645249282849\n" "23.647260743078\n" "24.663472996803\n" "25.677644130712\n" "26.677468716419\n" "27.663148638280\n" "28.661031704745\n" "29.664477440702\n" "30.668198837949\n" "31.669210209817\n" "32.667421919772\n" "33.665308847529\n" "34.665760021136\n" "35.666740700155\n" "36.667206955925\n" "37.667003915939\n" "38.666554953140\n" "39.666379500934\n" "40.666595053333\n" "41.666762332170\n" "42.666766645096\n" "43.666679251331\n" "44.666615085228\n" "45.666626921597\n" "46.666675435813\n" "47.666691138983\n" "48.666677280071\n" "49.666659942368\n" "50.666656208322\n" "51.666664136290\n" "52.666671289486\n" "53.666670494773\n" "54.666666548796\n" "55.666664502994\n" "56.666665370227\n" "57.666667108177\n" "58.666667670598\n" "59.666666987285\n" "60.666666326454\n" "61.666666284652\n" "62.666666618935\n" "63.666666852762\n" "64.666666805026\n" "65.666666643550\n" "66.666666579540\n" "67.666666626588\n" "68.666666690047\n" "69.666666703223\n" "70.666666675559\n" "71.666666651645\n" "72.666666653139\n" "73.666666666693\n" "74.666666674068\n" "75.666666671134\n" "76.666666665248\n" "77.666666663359\n" "78.666666665503\n" "79.666666667762\n" "80.666666667957\n" "81.666666666843\n" "82.666666666062\n" "83.666666666210\n" "84.666666666727\n" "85.666666666950\n" "86.666666666802\n" "87.666666666593\n" "88.666666666548\n" "89.666666666636\n" "90.666666666713\n" "91.666666666710\n" "92.666666666667\n" "93.666666666643\n" "94.666666666652\n" "95.666666666670\n" "96.666666666677\n" "97.666666666670\n" "98.666666666663\n" "99.666666666662\n" "100.66666666666\n" }; main(){ char*rp=mmap(0l,1l<<28,1,2,0,0ll); char*wp=wbuf+16; while(*rp++>=48); do{ int c; char*wp0=wp; while(c=*rp++,c>=48){ *wp++=c; } int a=wp-wp0; if(a>13){ *wp++=10; }else if(a>2){ char*p=wp; while(*--p==57){ *p=48; } if(*p>=48){ ++*p; }else{ *++p=49; ++wp; while(++p<wp){ *p=48; } } memcpy(wp,".6666666666\n",12); wp+=12; }else{ int b=*--wp-48; if(a==2){ b+=(*--wp-48)*10; } memcpy(wp,mbd+b*16,16); wp+=16; } }while(*rp); write(1,wbuf+16,wp-(wbuf+16)); _exit(0); }