zoukankan      html  css  js  c++  java
  • 第十届蓝桥杯B组省赛第A题

    试题 A: 组队 

    【问题描述】 

    作为篮球队教练,你需要从以下名单中选出 1 号位至 5 号位各一名球员, 组成球队的首发阵容。 

    每位球员担任 1 号位至 5 号位时的评分如下表所示。请你计算首发阵容 1 号位至 5 号位的评分之和最大可能是多少? 

    490

    #include <stdio.h>

    #include<iostream>

    #include<string>

    #include<algorithm>//sort函数包含的头文件

    using namespace std;

           struct t{

                  int a[5];

                  int num;

           }some[20];

           

        int some1[20][5]={

           97       ,90       ,0       ,0,       0,

           92       ,85       ,96       ,0,       0,

           0,       0,       0       ,0       ,93,

           0       ,0,       0,       80       ,86, 

           89,       83,       97,       0,       0, 

           82,       86,       0,       0,       0, 

           0,       0,       0,       87,       90, 

           0,       97,       96,       0,       0, 

           0,       0,       89,       0,       0, 

           95,       99       ,0,       0,       0, 

           0,       0,       96,       97,       0, 

           0,       0,       0,       93,       98, 

           94,       91,       0,       0,       0, 

           0,       83,       87,       0,       0, 

           0,       0,       98,       97,       98, 

           0,       0,       0,       93,       86, 

           98,       83,       99,       98,       81, 

           93,       87,       92,       96,       98, 

           0,       0,       0,       89,       92, 

           0,       99,       96,       95,       81

           };      //原始数据

           

        int any[5][5];      //取出数据

        int name[5][5];     //取出名字

        int names[20];       //遍历名字

        int plays[5];       //遍历

        int num[5];       //职业种类啊

        int i,j,k,c,amax,temp;

        int name1,name2,name3,fractionfe1,fractionfe2,fractionfe3;

        

    //int some[5][20];

    bool cmp(t aa,t bb){

        return aa.a[k]>bb.a[k];

    }

    void zzz(int bbb)

    {

           int i,j;

        if(bbb==5){

            amax=amax>temp?amax:temp;

            return;

        }

        for(i=0;i<5;i++){

            if(num[i]==0){

                   num[i]=1;

            for(j=0;j<5;j++){

                   if(names[name[i][j]]==0){

                          break;       

                          //剪枝 

                   }

            }

                  names[name[i][j]]=1;

                  temp+=any[i][j];

               zzz(bbb+1);

                  temp-=any[i][j];

            names[name[i][j]]=0;

            num[i]=0;

            }

        }

    }

    int main(){

           c=0;

        for(i=0;i<20;i++){

            names[i]=0;

        }

        for(i=0;i<5;i++){

            plays[i]=0;

            num[i]=0;

            for(j=0;j<5;j++){

                any[i][j]=0;

                name[i][j]=0;

            }

        }

        for(i=0;i<20;i++){

               some[i].num=i;

               for(j=0;j<5;j++){

                           some[i].a[j]=some1[i][j];

                  }

           }

           

        for(k=0;k<5;k++){

            sort(some,some+20,cmp);

            for(i=4;i>=0;i--){

                   any[k][i]=some[i].a[k];

                   name[k][i]=some[i].num;

               }

        }

        

        for(i=0;i<20;i++){

               for(j=0;j<5;j++){

            printf("%d ",some[i].a[j]);

                  }

            printf(" ");

           }

           

        for(i=0;i<5;i++){

            for(j=0;j<5;j++){

            printf(" %d %d ",name[i][j],any[i][j]);

            }

            printf(" ");

        }

        

        amax=0;

        temp=0;

        

        zzz(0);

        

        printf("%d",amax);

        return 0;

    }

    欢迎来我们oj刷题 oj地址:http://www.npumdacm.top/
  • 相关阅读:
    屏蔽2003:在系统启动时至少有一个服务或驱动程序产生错误
    C#中有关string和byte[]转换的问题
    如何控制winform程序只能打开一个呢?
    ArrayList的使用方法【转载】
    ASP.NET中ajaX学习记录
    C#去除字符串空格的几种方法【转载】
    C# 中2,10,16进制及其ASCII码之间转化
    vc++下char数组赋值乱码问题
    c#关机时自动退出程序
    Android入门前言(一)之Android应用开发入门五问 (转自:http://blog.csdn.net/android_tutor/)
  • 原文地址:https://www.cnblogs.com/tlysMoodspace/p/11842214.html
Copyright © 2011-2022 走看看