标题:发个题目来测测大家 真的会运用广搜了吗
只看楼主
草狼
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:577
专家分:1040
注 册:2010-4-6
结帖率:94.44%
 问题点数:0 回复次数:14 
发个题目来测测大家 真的会运用广搜了吗
题目是这样的 :
  给你一瓶S容量的饮料(正好装满的)和一个M容量和一个N容量的两个杯子,饮料和杯子都没有刻度的,且S=N+M,(200>S>0,N>0,M>0)现在问你,能否把饮料平分成相等容量的两部分,如果能,就输出最少倒几次就能把饮料平分成两部分,如果不能就输出“NO”.

要求输入 S M N 的容量 然后输出能否平分 能就输出最少需要倒几次,如若不能就输出“NO”;

测试数据:
输入 : 7 4 3  输出 : NO
输入 : 4 1 3  输出 : 3  
         ....           ...

输入 :  100 45 55  输出 : 19   

如果不用广搜 用比的方法也可以,只要做出题目行
搜索更多相关主题的帖子: 饮料 杯子 一瓶 
2011-01-22 11:42
zjsxwc
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:252
专家分:601
注 册:2011-1-20
得分:0 
发算法区吧,广搜、深搜、动态规划的本质还不是空间与时间之间的把握,这些最基础的东西还要发出来、楼主你好无聊啊

The tools I recommended:
GUI: CSharp(VS), QT;    Core Code: Plain C (Tiny C Compiler);    Web: Python, JavaScript;    Android: Java;    Embedded System: ASM&C (Linux)
2011-01-22 11:47
御坂美琴
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:魔術の禁書目錄
等 级:小飞侠
威 望:9
帖 子:952
专家分:2929
注 册:2010-8-18
得分:0 
#include <stdio.h>
int gcd(int a, int b)
{
    int t;
    while(b > 0)
    {
        a %= b, t=a,a=b,b=t;
    }
    return a;
}

int main()
{
    int s, m, n;
    while (scanf("%d%d%d", &s, &m, &n) != EOF)
    {
        int g;
        g = gcd(m, n);
        if (s % 2 == 1 || s % g > 0) puts("NO");
        else
        {
            printf("%d\n", s / g - 1);
        }
    }
    return 0;
}

试试这个看看,不知道有没有编译错误,有就改一下吧,我现在手上没有编译器去测试

永远为正义而奋斗,锄强扶弱的Level 5 超能力者
とある魔術の禁書目錄インデックス__御み坂さか美み琴こと
http://bbs.bccn.net/space.php?action=threads&uid=483997
2011-01-22 11:48
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
得分:0 
御坂美琴,你是职业程序员吗?好牛啊!

   唯实惟新 至诚致志
2011-01-22 11:53
草狼
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:577
专家分:1040
注 册:2010-4-6
得分:0 
回复 2楼 zjsxwc
是蛮基础的 ,可是这么基础的东西你会做么
2011-01-22 11:54
草狼
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:577
专家分:1040
注 册:2010-4-6
得分:0 
回复 3楼 御坂美琴
28 8 20 这组数据没过  应该到6次就行 你输出NO
2011-01-22 11:56
waterstar
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:5
帖 子:984
专家分:2810
注 册:2010-2-12
得分:0 
不对啊,按照御坂的程序28 8 20确实是输出6的,楼主是不是错了?

冰冻三尺,非一日之寒;士别三日,不足刮目相看!
2011-01-22 11:58
草狼
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:577
专家分:1040
注 册:2010-4-6
得分:0 
回复 7楼 waterstar
你去运行下看看
2011-01-22 12:06
草狼
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:577
专家分:1040
注 册:2010-4-6
得分:0 
再增加几组数据吧:
输入:
20 19 1
20 18 2
20 15 5
20 3 17
100 20 80
100 22 78
90 81 9
90 70 20
90 13 77
30 15 15
30 14 16
30 12 18
40 21 19
40 23 17
40 12 28
40 1 39
50 24 26
50 18 32
60 27 33
80 35 45
70 53 17

输出
19
9
3
19
NO
49
9
NO
89
1
NO
NO
39
39
9
39
NO
NO
19
15
69
2011-01-22 12:07
御坂美琴
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:魔術の禁書目錄
等 级:小飞侠
威 望:9
帖 子:952
专家分:2929
注 册:2010-8-18
得分:0 
嗯,不好意思,改一个地方:
if (s % 2 == 1 || ((s / 2) % g > 0)) puts("NO");

刚刚在远程的linux机器上编译测试了一下,数据已经全部通过了

永远为正义而奋斗,锄强扶弱的Level 5 超能力者
とある魔術の禁書目錄インデックス__御み坂さか美み琴こと
http://bbs.bccn.net/space.php?action=threads&uid=483997
2011-01-22 12:14



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-331439-1-1.html




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

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