C#的回朔编程题

来源:百度知道 编辑:UC知道 时间:2024/07/02 12:23:35
有红、黄、黑、白四中颜色的小球各一个,放置在一组编号为1、2、3、4的四个盒子
中,每个盒子只放置了一个球,他们的顺序丌知。

甲、乙、丙三人猜测放置的顺序如下:

甲:黑球在1号盒子、黄球在2号盒子;

乙:黑球在2号盒子、白球在3号盒子;

丙:红球在2号盒子、白球在4号盒子;

结果证明甲、乙、丙三人各自猜中了一半。

现在的人都好懒。。。

不太难,但是代码实现有点麻烦。
10分,少点喽,呵呵~~

一、所谓“回溯”也叫试探法。
二、思路
(1)根据乘法原理,2*2*2=8种组合方式。
(2)根据试探法,结合“三人只猜对了一半”,推出:只有甲前半句,乙后后半句,丙前半句说的是对的。——————>1黑,2红,3白,4黄。
(3)编码实现:
1)赋值阶段:
if(甲前==true)
{
甲后=false;
if(乙前==true)
{
乙后=false;
if(丙前==true)
{
丙后=false;
}
else
{
丙后=true;
}
else
{
乙后=true;
}
}
else
{
甲后=true;
}
}
输入信息:
3个布尔变量值:甲前、乙前、丙前【8种组合】
中间信息:
6个布尔变量值:甲前,甲后,乙前,乙后,丙前,丙后
2)判断:
if(甲前==乙前==true)Console.WriteLine("NO");
if(甲后==乙前==true)Console.WriteLine("NO");
if(甲后==丙后==true)
if()。。。。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleAppl