Submission #1134313
Source Code Expand
#include <cstdio> const int nmax = 16; struct Table { constexpr Table() : dp() { dp[0] = 0.0; for(int x = 1; x < (1<<nmax); ++x) { if(x&1) { switch(x & 7){ case 1: dp[x] = 3 + dp[x>>1]; break; case 3: dp[x] = 3 + (dp[x>>1] + dp[x>>3])/2; break; case 5: dp[x] = 3 + (dp[x>>2] + dp[x>>3])/2; break; case 7: dp[x] = 3 + (2*dp[x>>1] + dp[x>>2] + dp[(x>>1)&~2] + 2*dp[x>>3])/6; } } else dp[x] = dp[x>>1]; } } double dp[1<<nmax]; }; int main() { constexpr auto a = Table(); int n, i, x; scanf("%d", &n); for(i=0;i<n;i++){ int xi; scanf("%d", &xi); x |= 1 << xi; } printf("%.9g\n", a.dp[x]); }
Submission Info
Submission Time | |
---|---|
Task | J - ボール |
User | ryuhei |
Language | C++14 (GCC 5.4.1) |
Score | 5 |
Code Size | 740 Byte |
Status | AC |
Exec Time | 1 ms |
Memory | 640 KB |
Compile Error
./Main.cpp: In function ‘int main()’: ./Main.cpp:26:18: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%d", &n); ^ ./Main.cpp:29:21: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%d", &xi); ^
Judge Result
Set Name | All | ||
---|---|---|---|
Score / Max Score | 5 / 5 | ||
Status |
|
Set Name | Test Cases |
---|---|
All | 00, 01, 02, 03, 90, 91 |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00 | AC | 1 ms | 640 KB |
01 | AC | 1 ms | 640 KB |
02 | AC | 1 ms | 640 KB |
03 | AC | 1 ms | 640 KB |
90 | AC | 1 ms | 640 KB |
91 | AC | 1 ms | 640 KB |