hpuoj【1074】美味的煎咸鱼 [思维]

来源:互联网 发布:编程游戏软件 编辑:程序博客网 时间:2024/04/27 13:53



  

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;}


原创粉丝点击