zoukankan      html  css  js  c++  java
  • ADV-拍卖

    #include<stdio.h>
    int shangpin[20];
    int p[10][4];
    int vlue;
    int data[10];
    int n,m;
    void dfs(int step,int money){
        if(step==n){
            if(money>vlue) vlue=money;
        return;
        }
                for(int j=0;j<5;j++){            //每个人五种情况  不买、买两个(3)、买三个 
                    if(j==0){                 //买两个商品 0与1
                        if(shangpin[p[step][0]]==1||shangpin[p[step][1]]==1)
                            continue;
                        else {
                            shangpin[p[step][0]]=1;
                            shangpin[p[step][1]]=1;
                            money+=2*p[step][3];
                            dfs(step+1,money);
                            shangpin[p[step][0]]=0;
                            shangpin[p[step][1]]=0;
                            money-=2*p[step][3];
                        }
                    }
                    if(j==1){                 //买两个商品 1与2
                        if(shangpin[p[step][2]]==1||shangpin[p[step][1]]==1)
                            continue;
                        else {
                            shangpin[p[step][2]]=1;
                            shangpin[p[step][1]]=1;
                            money+=2*p[step][3];
                            dfs(step+1,money);
                            shangpin[p[step][2]]=0;
                            shangpin[p[step][1]]=0;
                            money-=2*p[step][3];
                        }
                    }
                    if(j==2){                  //买两个商品 0和2
                        if(shangpin[p[step][0]]==1||shangpin[p[step][2]]==1)
                            continue;
                        else {
                            shangpin[p[step][0]]=1;
                            shangpin[p[step][2]]=1;
                            money+=2*p[step][3];
                            dfs(step+1,money);
                            shangpin[p[step][0]]=0;
                            shangpin[p[step][2]]=0;
                            money-=2*p[step][3];
                        }
                    }
                    if(j==3){                  //买三个商品商品 0 1和2
                        if(shangpin[p[step][0]]==1||shangpin[p[step][1]]==1||shangpin[p[step][2]]==1)
                            continue;
                        else {
                            shangpin[p[step][0]]=1;
                            shangpin[p[step][1]]=1;
                            shangpin[p[step][2]]=1;
                            money+=3*p[step][3];
                            dfs(step+1,money);
                            shangpin[p[step][0]]=0;
                            shangpin[p[step][1]]=0;
                            shangpin[p[step][2]]=0;
                            money-=3*p[step][3];
                        }
                    }
                    if(j==4){
                        dfs(step+1,money);
                    }
                }
    
    }
    int main(){
        scanf("%d%d",&n,&m);
        for(int i=0;i<m;i++)
            scanf("%d%d%d%d",&p[i][0],&p[i][1],&p[i][2],&p[i][3]);
        dfs(0,0);
        printf("%d",vlue);
    }
  • 相关阅读:
    报错:Failed to create BuildConfig class
    emulator control无法使用问题
    the import android cannot be resolved
    报错:init: Could not find wglGetExtensionsStringARB!
    Android SDK升级后报错error when loading the sdk 发现了元素 d:skin 开头无效内容
    Eclipse Android环境搭建
    android中导入低版本project可能会遇到的编译问题(转自: Victor@Beijing)
    22.9
    GIT文档
    机器学习的几个问题探讨
  • 原文地址:https://www.cnblogs.com/lvcoding/p/6595552.html
Copyright © 2011-2022 走看看