zoukankan      html  css  js  c++  java
  • 洛谷 P2128 赤壁之战

    题目描述

    赤壁之战,黄盖率舰满载薪草膏油诈降曹军。

    受庞统所授的连环计,曹军战船之间由铁索相连,没有两艘战船在同一位置,也没有铁索两两相交或穿过战船。每艘船都有其一定的战略价值。

    为了保证达到破坏效果,黄盖需要保证被点燃的曹军船只两两之间都有铁索连接。他希望找到一种方案点燃总价值尽可能大的战船。

    输入输出格式

    输入格式:

     

    第一行包含数字 N; M ,表示战船的数量和铁索的数量。

    接下来包含 N 行,每 i 行包含 1 个数字 Vi ,表示第 i 艘战船的战略价值。

    接下来包含 M 行,每 i 行包含 2 个数字 Si; Ti ,表示铁索连接的两艘船只。

    数据保证这是一个可行的舰队安排。

     

    输出格式:

     

    输出一个数字,表示最多摧毁总价值多少的战船。

     

    输入输出样例

    输入样例#1: 复制
    4 6
    100
    5000
    1000
    2000
    1 2
    1 3
    1 4
    2 3
    2 4
    3 4
    输出样例#1: 复制
    8100
    输入样例#2: 复制
    6 8
    1500
    1000
    100
    2000
    500
    300
    1 2
    1 3
    1 4
    2 4
    3 5
    4 5
    4 6
    5 6
    输出样例#2: 复制
    4500

    说明

    【数据规模】

    对于50%的数据,保证 N,M ≤ 10。

    对于100%数据,保证 N ≤ 450; M ≤ 900; Vi ≤ 6000。

    【注意】

    题目中的每句话(除了第一段)都有作用。

    思路:搜索。

    #include<cstdio>
    #include<cstring>
    #include<iostream>
    #include<algorithm>
    #define MAXN 1000
    using namespace std;
    int n,m,ans,tot;
    int map[MAXN][MAXN];
    int v[MAXN],num[MAXN],vis[MAXN];
    void dfs(int sum,int pre){
        ans=max(ans,sum);
        for(int i=pre+1;i<=n;i++)
            if(!vis[i]){
                int sum1=0;
                for(int j=1;j<=tot;j++)
                    if(map[i][num[j]])    sum1++;    
                if(sum1==tot){
                    vis[i]=1;
                    num[++tot]=i;
                    dfs(sum+v[i],i);
                    tot--;
                    vis[i]=0;
                }
            }
    }
    int main(){
        scanf("%d%d",&n,&m);
        for(int i=1;i<=n;i++)    scanf("%d",&v[i]);
        for(int i=1;i<=m;i++){
            int x,y;
            scanf("%d%d",&x,&y);
            map[x][y]=map[y][x]=1;
        }
        dfs(0,0);
        cout<<ans;
    }
    细雨斜风作晓寒。淡烟疏柳媚晴滩。入淮清洛渐漫漫。 雪沫乳花浮午盏,蓼茸蒿笋试春盘。人间有味是清欢。
  • 相关阅读:
    poj 2352 Stars (树状数组)
    一.C语言:关键字、标识符和注释
    运算符:三目运算符,运算符优先级,sizeof,自增自减,取余
    ios app 上架AppStore
    为ios app添加广告条
    谓词
    正则表达式
    日期处理
    第一次往github上传文件步骤
    codeforce 375_2_b_c
  • 原文地址:https://www.cnblogs.com/cangT-Tlan/p/8148678.html
Copyright © 2011-2022 走看看