1074: 美味的煎咸鱼 [思维]
时间限制: 1 Sec 内存限制: 128 MB提交: 171 解决: 46
题目描述
为了犒劳辛苦买来折纸的魏好看,某咸鱼决定下厨做一道自己擅长的煎咸鱼。
某咸鱼买来了许多条咸鱼,然而他只有一个煎锅,而一个煎锅只能同时煎两条咸鱼。某咸鱼想使煎咸鱼尽量美味,所以他必须让咸鱼的两面都煎一次。无论同时煎一条还是两条咸鱼,完成一面都需要1分钟。为了让魏好看尽早吃到咸鱼宴(某咸鱼也想一起来吃),某咸鱼想知道他需要花费多少时间才能把买的咸鱼全部煎完。
输入
多组测试数据。
每组占一行,有一个数字N(0<N<1000000000)代表咸鱼总数。
输出
对于每组输入,输出一个数字代表某咸鱼煎完所有咸鱼需要花费的分钟数。
样例输入
2
样例输出
2
解析:这道题我当初WA好多次才做对,真心心累。首先1或者2两条鱼需要的时间都是2分钟,这应该没有问题。
主要的问题在于3条鱼需要多久,这是整个问题的核心。我们现在假设三条鱼的正反面为A1,A2,B1,B2,C1,C2;
小编开始想的是先一次性煎两条鱼(2分钟),然后再煎最后一条鱼(2分钟)。显然有更好的办法去解决这个问题
第一步 选择 A1,B1 第二步 选择 A2,C2 第三步 选择B2,C1。这样只需要3分钟。
其实我们可以简化一下这个问题,假设N(N>=2)条鱼,我们需要煎N*2 面,每分钟可以煎两面,这样还是需要N分钟。
程序如下:
#include<cstdio>
int main()
{
long long n;
while(scanf("%lld",&n)!=EOF)
{
if(n==1)
printf("2\n");
else
printf("%lld\n",n);
}
return 0;
}