| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 999 人关注过本帖
标题:帮忙看看,过桥问题哪里错了?
只看楼主 加入收藏
枫叶无痕
Rank: 2
等 级:论坛游民
帖 子:80
专家分:30
注 册:2011-2-10
结帖率:73.91%
收藏
已结贴  问题点数:20 回复次数:8 
帮忙看看,过桥问题哪里错了?
#include<stdio.h>
#include<math.h>
main()
{
    int n,i,j,f[1001],temp,s,t=0;
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        scanf("%d",&f[i]);
    }
    for(i=0;i<n;i++)
     for(j=0;j<n-i;j++)
     {
         if(f[j]>f[j+1])
         {
             temp=f[j];
             f[j]=f[j+1];
             f[j+1]=f[j];
         }
     }
     while(n>3)
     {
     if(2*f[2]>=f[1]+f[n-1])
     {
         t=t+f[n]+f[n-1]+2*f[1];
         n=n-2;
     }
     else
     {
         t=t+f[2]+f[1]+f[n]+f[2];
         n=n-2;
     }
     }
     if(n==1)
     {t=t+f[1];
         printf("%d\n",t);}
    else if(n==2)
    {t=t+f[2];
        printf("%d\n",t);}
    else if(n==3)
    {t=t+f[2]+f[1]+f[3];
    printf("%d\n",t);}
}
搜索更多相关主题的帖子: 过桥 
2011-03-17 20:56
king_kong
Rank: 2
来 自:山东
等 级:论坛游民
帖 子:71
专家分:55
注 册:2010-9-9
收藏
得分:10 
无语  没看懂  楼主    能把原题发一下不   不知道是干什么得
2011-03-17 21:13
枫叶无痕
Rank: 2
等 级:论坛游民
帖 子:80
专家分:30
注 册:2011-2-10
收藏
得分:0 
Description

在漆黑的夜里,n位旅行者来到了一座狭窄而且没有护栏的桥边。如果不借助手电筒的话,大家是无论如何也不敢过桥去的。不幸的是,他们一共只带了一只手电筒,而桥窄得只够让两个人同时过。如果各自单独过桥的话,每人所需要的时间分别是a1、a2、...an分钟;而如果两人同时过桥,所需要的时间就是走得比较慢的那个人单独行动时所需的时间。问题是,如何设计一个方案,让这些人尽快过桥。

Input

输入分2行
第一行是一个整数n(1<=n<=1000)
第二行是n个整数,分别表示这n个人单独过桥需要的时间

Output

输出一行,他们过桥需要的总时间

Sample Input


5
1 3 6 8 12

Sample Output


29

Source

yhr
2011-03-18 21:46
pcbaichi
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:486
专家分:1185
注 册:2010-11-13
收藏
得分:10 
这个益智游戏我玩过,只不过当时是限制时间30秒的

免费赠送河蟹一只
2011-03-19 12:59
枫叶无痕
Rank: 2
等 级:论坛游民
帖 子:80
专家分:30
注 册:2011-2-10
收藏
得分:0 
回复 4楼 pcbaichi
不好意思,我是问一下,这道题目那里有错误?和题目的要求有没有差别?谢谢了
2011-03-19 13:21
bo1314521520
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2011-3-17
收藏
得分:0 
貌似if(f[j]>f[j+1]){temp=f[i];f[j]=f[j+1];f[j+1]=f[j]} 这里有问题,你改改看。
2011-03-20 18:26
给力芬2010
Rank: 2
等 级:论坛游民
帖 子:48
专家分:71
注 册:2011-3-17
收藏
得分:0 
学习

[ 本帖最后由 给力芬2010 于 2011-3-20 19:22 编辑 ]
2011-03-20 19:17
给力芬2010
Rank: 2
等 级:论坛游民
帖 子:48
专家分:71
注 册:2011-3-17
收藏
得分:0 
6楼说的没错,交换大小值的if语句也错了
if(f[j]>f[j+1])
         {
             temp=f[j];
             f[j]=f[j+1];
             f[j+1]=f[j];
         }
2011-03-20 19:19
枫叶无痕
Rank: 2
等 级:论坛游民
帖 子:80
专家分:30
注 册:2011-2-10
收藏
得分:0 
回复 8楼 给力芬2010
不对,更加错了
2011-03-21 21:23
快速回复:帮忙看看,过桥问题哪里错了?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.036389 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved