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<bits/stdc++.h>
    
    using namespace std;
    
    int n,v,a[66],b[66],ans=1010101; 
    bool vis[66],k;
    void dfs(int d,int x,int y){
        if(k==1) return;
        if(d>n+1) return;
        if(x+y>=v){
            int q=abs(x-y);
            if(ans>q) ans=q;
            if(ans==0){
                k=1;
                return;
            }
        }
        dfs(d+1,x+a[d],y+b[d]);
        dfs(d+1,x,y);
    }
    int main()
    {
        ios::sync_with_stdio(0);
        cin>>n>>v;
        for(int i=1;i<=n;i++)
            cin>>a[i]>>b[i];
        dfs(1,0,0);
        if(ans==1010101) cout<<-1;
        else cout<<ans;
        return 0;
    } 
    

      

  • 相关阅读:
    如何获取antlr解析的错误消息?(完美)
    2021最新版保姆级Journal Citation Reports使用
    【 Linux系统 】Centos下Linux启动时默认内核设置机制
    留言板
    友链
    java enum简记
    java enum多路分发下浅识表驱动式编程
    c语言建立和调用dll
    scanf
    js学习1 —— 类型,值,变量
  • 原文地址:https://www.cnblogs.com/song-/p/8954729.html
Copyright © 2011-2022 走看看