zoukankan      html  css  js  c++  java
  • hdu 5326 Work (dp 记忆化搜索)

    #include<iostream>
    #include<stdio.h>
    #include<string.h>
    using namespace std;
    int mat[200][200];
    int dp[200];
    int vis[200];
    int n;
    int dfs(int x)
    {
        //printf("%d........
    ",x);
        int i,j,k;
        vis[x]=1;
        for(i=1;i<=n;i++)
        {
            if(i==x) continue;
           // printf("%d %d %d
    ",x,i,mat[x][i]);
            if(mat[x][i]==1)
            {
    
                //printf("%d %d
    ",x,i);
                if(vis[i]==1)
                {
                    dp[x]+=(1+dp[i]);
                }
                else
                {
                    dp[x]+=(1+dfs(i));
                }
            }
        }
        return dp[x];
    }
    int main()
    {
        int k;
        int i,j;
        int f,t;
        while(scanf("%d%d",&n,&k)!=EOF)
        {
            memset(mat,0,sizeof(mat));
            memset(dp,0,sizeof(dp));
            memset(vis,0,sizeof(vis));
            int m=n-1;
            while(m--)
            {
                scanf("%d%d",&f,&t);
                mat[f][t]=1;
            }
            for(i=1;i<=n;i++)
            {
                if(vis[i]==0)
                {
                    dp[i]=dfs(i);
                }
            }
            int ans=0;
            for(i=1;i<=n;i++)
            {
                //printf("%d ",dp[i]);
                if(dp[i]==k) ans++;
            }
            //printf("
    ");
            printf("%d
    ",ans);
        }
        return 0;
    }
    
  • 相关阅读:
    python之enumerate
    PyCharm Debug 调试
    兼容性测试方法
    mongo基本命令
    mongodb启动
    安装STF
    新家
    用数组实现的最大堆(C++)
    VS2013调用GLPK求解线性规划
    转:Java读取txt文件和写入txt文件
  • 原文地址:https://www.cnblogs.com/sola1994/p/4688724.html
Copyright © 2011-2022 走看看