Dima and Guards
2016-06-12 12:58
253 查看
[align=center]Dima and Guards[/align]
Crawling in process...Crawling failedTime
Limit:1000MS Memory Limit:262144KB
64bit IO Format:%I64d & %I64u
SubmitStatus
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 with1. Dima wants to choose some guardpost, buy one gift for each guard from the guardpost and spendexactlyn
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 integersa, 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
Input
Output
Input
Output
Input
Output
Sample Output
1
2
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.
题意是四个方向有看守,每个方向两个看守人员,给出他们能接受的礼物的价值,并满足上面的要求,一个人想贿赂两个人,自己花费n元,要求输出,第几组数,两个礼物的价值。
总和知,是求min(a,b)+min(c,d)是否<=n.
代码:#include<stdio.h>
int main()
{
int n,a[5],b[5],c[5],d[5],m,f,t;
int min;
while(scanf("%d",&n)!=EOF)
{
for(int i=1;i<=4;i++)
{
scanf("%d%d%d%d",&a[i],&b[i],&c[i],&d[i]);
}
for(int i=1;i<=4;i++)
{
min=100001;
if(a[i]<min)
{
min=a[i];
t=i;
}
if(b[i]<min)
{
min=b[i];
t=i;
}
m=n-min;
f=0;
if(m>=c[i])
{
f=1;
break;
}
else if(d[i]<=m)
{
f=1;
break;
}
}
if(f)
printf("%d %d %d\n",t,min,m);
else
printf("-1\n");
}
return 0;
}
[align=center]Dima and Guards[/align]
Crawling in process...Crawling failedTime
Limit:1000MS Memory Limit:262144KB
64bit IO Format:%I64d & %I64u
SubmitStatus
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 with1. Dima wants to choose some guardpost, buy one gift for each guard from the guardpost and spendexactlyn
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 integersa, 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
Input
10 5 6 5 6 6 6 7 7 5 8 6 6 9 9 9 9
Output
1 5 5
Input
10 6 6 6 6 7 7 7 7 4 4 4 4 8 8 8 8
Output
3 4 6
Input
5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
Output
-1
Sample Output
1
2
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.
题意是四个方向有看守,每个方向两个看守人员,给出他们能接受的礼物的价值,并满足上面的要求,一个人想贿赂两个人,自己花费n元,要求输出,第几组数,两个礼物的价值。
总和知,是求min(a,b)+min(c,d)是否<=n.
代码:#include<stdio.h>
int main()
{
int n,a[5],b[5],c[5],d[5],m,f,t;
int min;
while(scanf("%d",&n)!=EOF)
{
for(int i=1;i<=4;i++)
{
scanf("%d%d%d%d",&a[i],&b[i],&c[i],&d[i]);
}
for(int i=1;i<=4;i++)
{
min=100001;
if(a[i]<min)
{
min=a[i];
t=i;
}
if(b[i]<min)
{
min=b[i];
t=i;
}
m=n-min;
f=0;
if(m>=c[i])
{
f=1;
break;
}
else if(d[i]<=m)
{
f=1;
break;
}
}
if(f)
printf("%d %d %d\n",t,min,m);
else
printf("-1\n");
}
return 0;
}
相关文章推荐
- 【HDU 5366】The mook jong 详解
- HDU 5240 Exam (好水的题)
- 北大—1006——Biorhythms
- 时间计算(heaven.pas/cpp)
- 工作依赖(job.cpp/pas)
- 题目 英雄 (BFS)
- kmp 学习 hihocoder #1015
- HDU 1096 A+B for Input-Output Practice (VIII)
- HUST-1601 - Shepherd 暴力
- P1478
- P1035
- P1008 难度2.7
- 2020 绝对值排序
- 2021 发工资咯
- 2022 海选女主角
- 2024 C语言合法标识符
- 2025 查找最大元素
- 2026 首字母变大写
- 2027 统计元音
- 2028 Lowest Common Multiple Plus