Submission #323932
Source Code Expand
#include <bits/stdc++.h>//{{{{{{ using namespace std; //TYPEDEFS //{{{ typedef long double ldouble; typedef long long lint; typedef unsigned long long ulint; typedef vector<int> vint; typedef vector<lint> vlint; typedef vector<double> vdouble; //}}} //MACROS //{{{ #define rep(i,n) for(int i = 0; i < (int)(n); i++) #define all(c) (c).begin(), (c).end() #define uniquenize(v) (v).erase(unique(all(v)), (v).end()) #define perm(c) sort(all(c)); for(bool b = true; b; b = next_permutation(all(c))) //}}} //INPUTS //{{{ #define int(x) int x; scanf("%d",&x); #define lint(x) long long x; scanf("%lld",&x); #define vint(v,n) vector<int> v(n); rep(i,n) scanf("%d", &v[i]); #define vlint(v,n) vector<lint> v(n); rep(i,n) scanf("%lld", &v[i]); #define double(x) double x; scanf("%lf",&x); #define vdouble(v,n) vector<double> v(n); rep(i,n) scanf("%lf", &v[i]); #define string(x) string x; cin >> x; //}}} //OUTPUT //{{{ template<class T> ostream& operator<<(ostream &os, const vector<T> &v){os << "["; rep(i, v.size()) os << (i? "," : "") << v[i]; os << "]"; return os;} template<class S, class T> ostream& operator<<(ostream &os, const pair<S,T> &t){ return os << "(" << t.first << "," << t.second << ")";} //}}} //UTILITY//{{{ template<class T> bool chmax(T &a, const T &b){return a<b && (a = b, 1);} template<class T> bool chmin(T &a, const T &b){return a>b && (a = b, 1);} //}}} }}}}}} double d[114]; inline double fact(int x){ long double res = 1; for(int i = 1; i <= x; i++) res *= i; return res; } double f(int a, int b, int c){ return fact(a+b+c)/fact(a)/fact(b)/fact(c); } double all_same(int n){ return f(n, 0, 0); } double aiko3(int n){ assert(n%3 == 0); return f(n/3, n/3, n/3)/3; } double calc(int m, int n){ double res = 0; //(now, winning, losing) //(m, 0, n-m) if(m <= n-m) res += f(m, 0, n-m); //(m, n-m, 0) if(m < n-m) res += f(m, n-m, 0); //(m, i, n-i-m) for(int i = m+1; i+m <= n && m <= n-i-m; i++){ res += f(m, i, n-i-m); } return res; } int main(){ d[1] = 0; //d[2] = 1.5; //d[3] = 1.5; for(int i = 2; i <= 100; i++){ vector<double> w(200); double tmp = 1; double pp = 1; for(int j = 1; j <= i; j++){ w[j] = calc(j, i); tmp += w[j] * d[j] / pow(3, i-1); pp -= w[j]/pow(3, i-1); } //w[i] = all_same(i); //if(i%3 == 0) w[i] = aiko3(i); d[i] = tmp / (1-pp); } int n; cin >> n; printf("%.9f\n", d[n]); }
Submission Info
Submission Time | |
---|---|
Task | C - ゲーマーじゃんけん |
User | eha |
Language | C++11 (GCC 4.8.1) |
Score | 100 |
Code Size | 2617 Byte |
Status | AC |
Exec Time | 47 ms |
Memory | 992 KB |
Judge Result
Set Name | All | ||
---|---|---|---|
Score / Max Score | 100 / 100 | ||
Status |
|
Set Name | Test Cases |
---|---|
All | input-002.txt, input-003.txt, input-004.txt, input-005.txt, input-006.txt, input-007.txt, input-008.txt, input-009.txt, input-010.txt, input-011.txt, input-012.txt, input-013.txt, input-014.txt, input-015.txt, input-016.txt, input-017.txt, input-018.txt, input-019.txt, input-020.txt, input-021.txt, input-022.txt, input-023.txt, input-024.txt, input-025.txt, input-026.txt, input-027.txt, input-028.txt, input-029.txt, input-030.txt, input-031.txt, input-032.txt, input-033.txt, input-034.txt, input-035.txt, input-036.txt, input-037.txt, input-038.txt, input-039.txt, input-040.txt, input-041.txt, input-042.txt, input-043.txt, input-044.txt, input-045.txt, input-046.txt, input-047.txt, input-048.txt, input-049.txt, input-050.txt, input-051.txt, input-052.txt, input-053.txt, input-054.txt, input-055.txt, input-056.txt, input-057.txt, input-058.txt, input-059.txt, input-060.txt, input-061.txt, input-062.txt, input-063.txt, input-064.txt, input-065.txt, input-066.txt, input-067.txt, input-068.txt, input-069.txt, input-070.txt, input-071.txt, input-072.txt, input-073.txt, input-074.txt, input-075.txt, input-076.txt, input-077.txt, input-078.txt, input-079.txt, input-080.txt, input-081.txt, input-082.txt, input-083.txt, input-084.txt, input-085.txt, input-086.txt, input-087.txt, input-088.txt, input-089.txt, input-090.txt, input-091.txt, input-092.txt, input-093.txt, input-094.txt, input-095.txt, input-096.txt, input-097.txt, input-098.txt, input-099.txt, input-100.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
input-002.txt | AC | 46 ms | 788 KB |
input-003.txt | AC | 44 ms | 936 KB |
input-004.txt | AC | 44 ms | 940 KB |
input-005.txt | AC | 43 ms | 928 KB |
input-006.txt | AC | 43 ms | 920 KB |
input-007.txt | AC | 45 ms | 928 KB |
input-008.txt | AC | 43 ms | 932 KB |
input-009.txt | AC | 43 ms | 924 KB |
input-010.txt | AC | 47 ms | 804 KB |
input-011.txt | AC | 43 ms | 808 KB |
input-012.txt | AC | 44 ms | 804 KB |
input-013.txt | AC | 43 ms | 992 KB |
input-014.txt | AC | 45 ms | 800 KB |
input-015.txt | AC | 42 ms | 808 KB |
input-016.txt | AC | 44 ms | 916 KB |
input-017.txt | AC | 43 ms | 812 KB |
input-018.txt | AC | 42 ms | 928 KB |
input-019.txt | AC | 44 ms | 796 KB |
input-020.txt | AC | 42 ms | 864 KB |
input-021.txt | AC | 44 ms | 808 KB |
input-022.txt | AC | 43 ms | 916 KB |
input-023.txt | AC | 45 ms | 792 KB |
input-024.txt | AC | 44 ms | 928 KB |
input-025.txt | AC | 45 ms | 924 KB |
input-026.txt | AC | 44 ms | 932 KB |
input-027.txt | AC | 42 ms | 932 KB |
input-028.txt | AC | 43 ms | 792 KB |
input-029.txt | AC | 42 ms | 864 KB |
input-030.txt | AC | 43 ms | 928 KB |
input-031.txt | AC | 44 ms | 868 KB |
input-032.txt | AC | 43 ms | 864 KB |
input-033.txt | AC | 43 ms | 940 KB |
input-034.txt | AC | 42 ms | 924 KB |
input-035.txt | AC | 44 ms | 916 KB |
input-036.txt | AC | 44 ms | 864 KB |
input-037.txt | AC | 43 ms | 936 KB |
input-038.txt | AC | 44 ms | 856 KB |
input-039.txt | AC | 44 ms | 932 KB |
input-040.txt | AC | 42 ms | 932 KB |
input-041.txt | AC | 43 ms | 808 KB |
input-042.txt | AC | 43 ms | 864 KB |
input-043.txt | AC | 43 ms | 932 KB |
input-044.txt | AC | 46 ms | 772 KB |
input-045.txt | AC | 43 ms | 924 KB |
input-046.txt | AC | 43 ms | 928 KB |
input-047.txt | AC | 45 ms | 800 KB |
input-048.txt | AC | 44 ms | 808 KB |
input-049.txt | AC | 44 ms | 916 KB |
input-050.txt | AC | 44 ms | 860 KB |
input-051.txt | AC | 43 ms | 924 KB |
input-052.txt | AC | 43 ms | 932 KB |
input-053.txt | AC | 43 ms | 940 KB |
input-054.txt | AC | 43 ms | 928 KB |
input-055.txt | AC | 44 ms | 932 KB |
input-056.txt | AC | 45 ms | 928 KB |
input-057.txt | AC | 45 ms | 928 KB |
input-058.txt | AC | 45 ms | 936 KB |
input-059.txt | AC | 44 ms | 800 KB |
input-060.txt | AC | 43 ms | 932 KB |
input-061.txt | AC | 44 ms | 928 KB |
input-062.txt | AC | 45 ms | 860 KB |
input-063.txt | AC | 43 ms | 928 KB |
input-064.txt | AC | 44 ms | 916 KB |
input-065.txt | AC | 42 ms | 920 KB |
input-066.txt | AC | 44 ms | 928 KB |
input-067.txt | AC | 44 ms | 920 KB |
input-068.txt | AC | 45 ms | 848 KB |
input-069.txt | AC | 44 ms | 804 KB |
input-070.txt | AC | 43 ms | 924 KB |
input-071.txt | AC | 43 ms | 864 KB |
input-072.txt | AC | 43 ms | 860 KB |
input-073.txt | AC | 43 ms | 924 KB |
input-074.txt | AC | 42 ms | 932 KB |
input-075.txt | AC | 43 ms | 924 KB |
input-076.txt | AC | 45 ms | 920 KB |
input-077.txt | AC | 45 ms | 928 KB |
input-078.txt | AC | 43 ms | 928 KB |
input-079.txt | AC | 44 ms | 928 KB |
input-080.txt | AC | 44 ms | 932 KB |
input-081.txt | AC | 43 ms | 924 KB |
input-082.txt | AC | 45 ms | 796 KB |
input-083.txt | AC | 44 ms | 856 KB |
input-084.txt | AC | 43 ms | 880 KB |
input-085.txt | AC | 44 ms | 932 KB |
input-086.txt | AC | 44 ms | 928 KB |
input-087.txt | AC | 44 ms | 928 KB |
input-088.txt | AC | 43 ms | 944 KB |
input-089.txt | AC | 44 ms | 920 KB |
input-090.txt | AC | 43 ms | 852 KB |
input-091.txt | AC | 45 ms | 920 KB |
input-092.txt | AC | 44 ms | 916 KB |
input-093.txt | AC | 43 ms | 808 KB |
input-094.txt | AC | 43 ms | 928 KB |
input-095.txt | AC | 43 ms | 792 KB |
input-096.txt | AC | 43 ms | 928 KB |
input-097.txt | AC | 43 ms | 928 KB |
input-098.txt | AC | 45 ms | 932 KB |
input-099.txt | AC | 43 ms | 872 KB |
input-100.txt | AC | 43 ms | 928 KB |