zoukankan      html  css  js  c++  java
  • 【洛谷p1464】 Function

    中考第一天;

    感觉我超废;

    就是看这道题特别顺眼emmm

    SOLUTION:

    思路的话是开三维数组s[i][j][k],先三重for循环预处理出s[0~20][0~20][0~20]的w(a,b,c),然后直接搜索就好了。

    Code:

    #include<bits/stdc++.h>
    
    using namespace std;
    
    long long a,b,c;
    long long s[21][21][21];
    
    long long w(long long a,long long b,long long c){
        if(a<=0||b<=0||c<=0) return 1;
        if(a<b&&b<c) s[a][b][c]=s[a][b][c-1]+s[a][b-1][c-1]-s[a][b-1][c];
        else s[a][b][c]=s[a-1][b][c]+s[a-1][b-1][c]+s[a-1][b][c-1]-s[a-1][b-1][c-1];
        return s[a][b][c];
    }
    
    void ycl(){
        for(int i=0;i<=20;i++){
            for(int j=0;j<=20;j++){
                for(int k=0;k<=20;k++){
                    s[i][j][k]=w(i,j,k);
                }
            }
        }
    }
    
    long long dfs(long long a,long long b,long long c){
        if(a<=0||b<=0||c<=0) return 1;
        if(a>20||b>20||c>20) return s[20][20][20];
        return s[a][b][c];
    }
    
    
    int main(){
        ycl();
        while(a!=-1||b!=-1||c!=-1){
            scanf("%lld %lld %lld",&a,&b,&c);
            if(a!=-1||b!=-1||c!=-1)
            cout<<"w"<<"("<<a<<", "<<b<<", "<<c<<") = "<<dfs(a,b,c)<<endl;
        }
        return 0;
    }
  • 相关阅读:
    java
    java
    android-studio于java相关
    转-Cannot refer to an instance field arg while explicitly invoking a constructor
    java
    java
    hdoj 1251 统计难题(字典树)
    hdoj 3555 Bomb(DFA+dp)
    hdoj 1247 Hat’s Words(字典树)
    poj 1204 Word Puzzles(字典树)
  • 原文地址:https://www.cnblogs.com/zhuier-xquan/p/11004647.html
Copyright © 2011-2022 走看看