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
AC × 99
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