카술라 보이콧

4560 단어

제목의 뜻


외출 우회전https://www.lydsy.com/JudgeOnline/problem.php?id=4832

문제풀이


혈액량이 같은 노예주의 성질이 같다는 것을 쉽게 알 수 있다.
그러니까 기억으로 검색하면 돼!

디버그 레코드


4
  • 기억화 검색 시 현재 어떤 노예주가 존재하는지 판단하지 못했다

  • 코드

    #include 
    using namespace std;
    
    typedef long double ld;
    ld dp[55][8][8][8];
    ld dfs(int k,int a,int b,int c) {
        if (k == 0) return 0;
        if (dp[k][a][b][c]) return dp[k][a][b][c];
        // attack , main
        ld ret = dfs(k-1, a, b, c) + 1;
        // attack a
        if (a) ret += dfs(k-1, a-1, b, c) * a;
        // attack b
        if (b) ret += dfs(k-1, a+1, b-1, min(7-a-b, c+1)) * b;
        // attack c
        if (c) ret += dfs(k-1, a, b+1, min(6-a-b, c)) * c;
        return dp[k][a][b][c] = ret / (1 + a + b + c);
    }
    
    int main() {
        int T;
        scanf("%d", &T);
        while (T--) {
            int k, a, b, c;
            scanf("%d%d%d%d", &k, &a, &b, &c);
            if (!dfs(k, a, b, c)) printf("0.00
    "); else printf("%.2Lf
    ", dfs(k, a, b, c)); } return 0; }

    전재 대상:https://www.cnblogs.com/mchmch/p/bzoj-4832.html

    좋은 웹페이지 즐겨찾기