Dima and Guards
来源:互联网 发布:比特币是网络传销吗 编辑:程序博客网 时间:2024/06/05 01:53
Description
Nothing has changed since the last round. Dima and Inna still love each other and want to be together. They've made a deal with Seryozha and now they need to make a deal with the dorm guards...
There are four guardposts in Dima's dorm. Each post contains two guards (in Russia they are usually elderly women). You can bribe a guard by a chocolate bar or a box of juice. For each guard you know the minimum price of the chocolate bar she can accept as a gift and the minimum price of the box of juice she can accept as a gift. If a chocolate bar for some guard costs less than the minimum chocolate bar price for this guard is, or if a box of juice for some guard costs less than the minimum box of juice price for this guard is, then the guard doesn't accept such a gift.
In order to pass through a guardpost, one needs to bribe both guards.
The shop has an unlimited amount of juice and chocolate of any price starting with 1. Dima wants to choose some guardpost, buy one gift for each guard from the guardpost and spend exactly n rubles on it.
Help him choose a post through which he can safely sneak Inna or otherwise say that this is impossible. Mind you, Inna would be very sorry to hear that!
Input
The first line of the input contains integer n (1 ≤ n ≤ 105) — the money Dima wants to spend. Then follow four lines describing the guardposts. Each line contains four integers a, b, c, d (1 ≤ a, b, c, d ≤ 105) — the minimum price of the chocolate and the minimum price of the juice for the first guard and the minimum price of the chocolate and the minimum price of the juice for the second guard, correspondingly.
Output
In a single line of the output print three space-separated integers: the number of the guardpost, the cost of the first present and the cost of the second present. If there is no guardpost Dima can sneak Inna through at such conditions, print -1 in a single line.
The guardposts are numbered from 1 to 4 according to the order given in the input.
If there are multiple solutions, you can print any of them.
Sample Input
105 6 5 66 6 7 75 8 6 69 9 9 9
1 5 5
106 6 6 67 7 7 74 4 4 48 8 8 8
3 4 6
53 3 3 33 3 3 33 3 3 33 3 3 3
-1
Hint
Explanation of the first example.
The only way to spend 10 rubles to buy the gifts that won't be less than the minimum prices is to buy two 5 ruble chocolates to both guards from the first guardpost.
Explanation of the second example.
Dima needs 12 rubles for the first guardpost, 14 for the second one, 16 for the fourth one. So the only guardpost we can sneak through is the third one. So, Dima can buy 4 ruble chocolate for the first guard and 6 ruble juice of the second guard.
题意:男生想要晚上出去见女票,可是有宿管阿姨管着,有4个出口,4个阿姨,但是阿姨可以被收买,每个阿姨可以被两件东西收买,两件东西有分别有两种不同的价格,且该男生只有n元钱,问能否成功收买一个阿姨出去:
思路,每行1,2和3,4两件物品最小值相加,如果<=n,就可以出去,否则不行:
#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>using namespace std;int main(){int n,i,j,map[4][4];while(scanf("%d",&n)!=EOF){int cnt=0,p=0,q=0,flag=0;for(i=0;i<4;i++){for(j=0;j<4;j++)scanf("%d",&map[i][j]);}for(i=0;i<4;i++){p=min(map[i][0],map[i][1]);q=min(map[i][2],map[i][3]);if(n>=p+q){flag=1;cnt=i;}if(flag==1)break;}if(flag)printf("%d %d %d\n",cnt+1,p,n-p);elseprintf("-1\n");}return 0;
- A. Dima and Guards
- codeforce Dima and Guards
- dima and guards
- Dima and Guards
- Codeforces Dima and Guards
- Dima and Guards
- Dima and Guards
- Dima and Guards
- Dima and Guards
- 【codeforces】Dima and Guards
- CF366A Dima and Guards
- codeforce-【A. Dima and Guards】
- CodeForces 366A - Dima and Guards
- CodeForces 366A Dima and Guards
- CodeForces - 366A Dima and Guards
- CodeForces 366A- Dima and Guards
- Codeforces 366A Dima and Guards 【水题】
- CodeForces 366A:Dima and Guards【水】
- 日记区
- C发送http请求
- NOIP2012d2t2 国王游戏
- 【转载】 Android安全攻防战,反编译与混淆技术完全解析(上)
- 我的ListView
- Dima and Guards
- Android 动画之属性动画
- 378.leetcode Kth Smallest Element in a Sorted Matrix(medium)[堆求第K小的 ]
- 学习ios(必看经典)牛人40天精通iOS开发的学习方法
- 江南水墨画
- c++中extern关键字详解
- iOS-判断首次启动
- JNI
- 渐增型算法 - 插入排序算法