zoukankan      html  css  js  c++  java
  • 洛谷 P2080 增进感情

    题目背景

    小明和小红的感情,是慢慢发展起来的。

    题目描述

    他们对对方分别有一个好感值。定义两人的亲密程度为两人的好感值之和。

    如果他们的亲密程度达到V,则他们将走到一起。他们以后的生活将取决于两人的好感值之差的绝对值,这个值越小,他们的生活将越幸福。

    现在,他们对对方的好感值都为0,小明有N件事可以干,每件事可以增加他对小红的好感Ai点,并且增加小红对他的好感Bi点。(可能为负数)

    小明可以任选一些事做,请你帮小明求出怎样才能让他们的生活更加幸福(求出两人在一起的前提下,好感值之差的最小绝对值即可)。

    输入输出格式

    输入格式:

     

    第1行,两个正整数N,V。

    之后N行,每行两个空格隔开的整数Ai,Bi。

     

    输出格式:

     

    一行,一个非负整数,表示两人在一起的前提下,好感值之差的最小绝对值。如果无论如何两人也无法在一起,输出-1.

     

    输入输出样例

    输入样例#1: 复制
    4 15
    5 6
    -1 8
    7 2
    1 0
    
    输出样例#1: 复制
    3

    说明

    对于20%数据,N<=10。

    对于全部数据,N<=30,|Ai|,|Bi|<=100. 数据比较弱

    思路:暴力:搜索+卡时。

    #include<cstdio>
    #include<cstring>
    #include<iostream>
    #include<algorithm>
    using namespace std;
    int n,v,A,B,tot;
    int ans=0x7f7f7f7f;
    int a[350],b[350];
    void dfs(int now,int sum){
        tot++;
        if(tot==80000000){printf("%d",ans);exit(0);}
        if(sum>v)    ans=min(ans,abs(A-B));
        if(now==n+1)    return ;
        A+=a[now];B+=b[now];dfs(now+1,sum+a[now]+b[now]);A-=a[now];B-=b[now];
        dfs(now+1,sum);
    } 
    int main(){
        scanf("%d%d",&n,&v);
        for(int i=1;i<=n;i++)
            scanf("%d%d",&a[i],&b[i]);
        dfs(1,0);
        if(ans==0x7f7f7f7f)    cout<<"-1";
        else cout<<ans;
    }

    不去卡时,加一个小优化,就是当好感的差的绝对值是0时直接结束。

    #include<cstdio>
    #include<cstring>
    #include<iostream>
    #include<algorithm>
    using namespace std;
    int n,v,A,B,tot;
    int ans=0x7f7f7f7f;
    int a[350],b[350];
    void dfs(int now,int sum){
        if(sum>v)    ans=min(ans,abs(A-B));
        if(ans==0){ cout<<ans;exit(0); }
        if(now==n+1)    return ;
        A+=a[now];B+=b[now];dfs(now+1,sum+a[now]+b[now]);A-=a[now];B-=b[now];
        dfs(now+1,sum);
    } 
    int main(){
        scanf("%d%d",&n,&v);
        for(int i=1;i<=n;i++)
            scanf("%d%d",&a[i],&b[i]);
        dfs(1,0);
        if(ans==0x7f7f7f7f)    cout<<"-1";
        else cout<<ans;
    }
    细雨斜风作晓寒。淡烟疏柳媚晴滩。入淮清洛渐漫漫。 雪沫乳花浮午盏,蓼茸蒿笋试春盘。人间有味是清欢。
  • 相关阅读:
    CentOS7中Tomcat的安装和配置
    CentOS7中JDK的安装和配置
    Linux基本指令
    MySQL数据库索引:索引介绍和使用原则
    MongoDB基础篇2:数据库/用户/数据集合的增删改
    MongoDB基础篇1:安装和服务配置
    JSTL fn:replace()函数替换 换行符
    LeetCode440. 字典序的第K小数字
    kubeadm搭建kubernetes-1.13.2集群
    kubernetes(k8s)kubectl使用详解
  • 原文地址:https://www.cnblogs.com/cangT-Tlan/p/8025189.html
Copyright © 2011-2022 走看看