标题:新年要来了,三哥骚劲也到了,那就出个骚年的骚题吧!!
只看楼主
zhu224039
Rank: 8Rank: 8
等 级:贵宾
威 望:17
帖 子:862
专家分:792
注 册:2012-7-29
结帖率:59.52%
 问题点数:0 回复次数:12 
新年要来了,三哥骚劲也到了,那就出个骚年的骚题吧!!
三哥有点坏

题目图片.zip (135.85 KB)


下载附件 里面是一个大理石玩具。
在A或B扔下一个大理石。杠杆X1 X2 X3 让大理石球落向左方或右方。每当一个大理石遇到一个杠杆时
就引起这个杠杆在大理石球通过之后改变方向,所以下一个大理石球会走相反的分支。

编程:
 以0代表球从A口入 以1代表球从B口入

规定球从C口出 就可以获取奖品


输入:
例如一串011010001111
判断最后从B口入得球  会不会从C口出来呢

如果是从C口出来 输出 获取一个奖品

如果不是        输出  很遗憾下次努力


加油吧亲门 一天后三哥上答案

[ 本帖最后由 zhu224039 于 2014-1-22 17:17 编辑 ]
搜索更多相关主题的帖子: 大理石 玩具 
2014-01-22 17:09
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6809
专家分:42393
注 册:2010-12-16
得分:0 
头像的小孩太幸福了

我行我乐
我的博客:
http://blog.yuccn. net
2014-01-22 19:01
Alar30
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:10
帖 子:988
专家分:1627
注 册:2009-9-8
得分:0 
回楼上的
其实你我当年都幸福过的
2014-01-22 19:07
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
得分:0 
凑个热闹
算法一
程序代码:
#include<stdio.h>
int cal(int b, int * x)
{
    const int t[2][8] = {{1, 2, 3, 0, 5, 6, 7, 4}, {6, 7, 4, 5, 0, 1, 2, 3}};
    const int r[2][8] = {{0, 1, 1, 1, 0, 1, 1, 1}, {0, 0, 0, 0, 0, 0, 1, 1}};
    return r[b][*x = t[b][*x]];
}

int main()
{
    int b, r, x;
    for(x = 0; (b = getchar()) == '0' || b == '1'; r = cal(b - '0', &x));
    puts(r ? "获取一个奖品" : "很遗憾下次努力");
    return 0;
}

算法二
程序代码:
#include<stdio.h>
int main()
{
    int b[2] = {0}, t, x1, x2, x3;
    for(; (t = getchar()) == '0' || t == '1'; b[t -= '0']++);
    b[t]--;
    x1 = b[0] & 1;
    x2 = (b[0] / 2 + (b[1] + 1) / 2) & 1;
    x3 = b[1] & 1;
    t = t ? !(x2 || x3) : !(x1 && x2);
    puts(t ? "获取一个奖品" : "很遗憾下次努力");
    return 0;
}


[ 本帖最后由 beyondyf 于 2014-1-23 00:50 编辑 ]

重剑无锋,大巧不工
2014-01-23 00:48
冯天华
Rank: 2
等 级:论坛游民
帖 子:28
专家分:24
注 册:2013-12-14
得分:0 
新手的悲哀……我承认我连问题是什么都没看懂……
2014-01-23 04:26
Fighting100
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2013-12-1
得分:0 
球神魔情况下会从c出呢
2014-01-23 10:55
zhu224039
Rank: 8Rank: 8
等 级:贵宾
威 望:17
帖 子:862
专家分:792
注 册:2012-7-29
得分:0 
3楼的代码让咱羞愧,大神就是大神

我要成为嘿嘿的黑客,替天行道
2014-01-23 14:54
zhu224039
Rank: 8Rank: 8
等 级:贵宾
威 望:17
帖 子:862
专家分:792
注 册:2012-7-29
得分:0 
代码我就不上了,我上解题思路

首先
图中 X1 X2 X3 的状态如下
有1代表杠杆向左,用0代表杠杆向右,下表列出X1 X2 X3可能出现的状态组合
    X1    X2   X3
P0  1     1    1
p1  0     1    1
p2  1     0    1
p3  1     1    0
p4  0     0    1
p5  0     1    0
p6  1     0    0
p7  0     0    0

下面列出 状态的转化图,P0为初始状态,横标A B  表示 从A放球  和从B放球后 状态的变化

     A       B
p0  P1       P6
P1  P4       P7
P2  P4       P3
P3  P5       P0
P4  P1       P5
P5  P6       P1
P6  P7       P2
P7  P3       P4

上面是状态转换图  很明显 这个结构可以用一个二维数组表示  a[2][8]

现在来区分  从C口出 还是从D口出的问题

从P0-P7状态中可以找出 从C口出的状态为
从A口进  状态有 P0  P1  P2   P3  P5   P6
从B口进  状态有 P0  P1

不从C出就是从D出   下面从D口出的情况 我就不写了

程序嘛,我这外来的不专业货 就不上了,看三楼的

[ 本帖最后由 zhu224039 于 2014-1-23 15:28 编辑 ]

我要成为嘿嘿的黑客,替天行道
2014-01-23 15:24
chuxinls
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2014-1-23
得分:0 
学习了
2014-01-23 15:30
zhu224039
Rank: 8Rank: 8
等 级:贵宾
威 望:17
帖 子:862
专家分:792
注 册:2012-7-29
得分:0 
膜拜三楼的代码

一千个 一万个 膜拜顶礼

我要成为嘿嘿的黑客,替天行道
2014-01-23 15:38



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




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

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