El Dr. rompecabezas enigma método de fuerza bruta en Java

El Dr. rompecabezas enigma método de fuerza bruta en Java

familia honesta y familia está acostado isla a partir de dos grupos étnicos diferentes, familia honesta que siempre dicen la verdad, la familia mentido que nunca decir mentiras. Dr. acertijos era un hombre inteligente, que quiere juzgar a las personas encuentran a partir del cual la nación.
El Dr. acertijos encontró con tres hombres, sabiendo que pueden haber venido de una familia honesta o familiar mentira. Con el fin de investigar los tres hombres es lo que la familia, el doctor se les hizo a sus preguntas, esta es la conversación: la primera persona a preguntar: "¿De qué tienes familia?" R: "Hay dos de nosotros de una familia honesta . "el segundo hombre dijo:" no hablar sin sentido, tenemos sólo una de cada tres personas son familia honesta, "la segunda persona después de la tercera persona que escucha a las palabras, dijo:" .. Sí, sólo hay una familia honesta, "
por favor, de acuerdo con su que son la respuesta para determinar qué familia.

código:

public class 真假族
{

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// 迷语博士遇到三个人,知道他们可能是来自诚实族或说谎族的。
		// 为了调查这三个人是什么族的,博士分别问了他们的问题,这是他们的对话:
		// 问第一个人:“你们是什么族?”,答:“我们之中有两个来自诚实族。
		// ”第二个人说:“不要胡说,我们三个人中只有一个是诚实族的。
		// ”第三个人听了第二个人的话后说:“对,就是只有一个诚实族的。”

		// 暴力破解法
		int a, b, c;
		boolean A, B, C;
		for (a = 0; a <= 1; a++)/* 穷举每个人是说谎还是诚实的全部情况 */
		{
			if (a == 0)
			{
				A = false;/* 说谎:false 诚实:true */
			} else
			{
				A = true;
			}
			for (b = 0; b <= 1; b++)
			{
				if (b == 0)
				{
					B = false;/* 说谎:false 诚实:true */
				} else
				{
					B = true;
				}
				for (c = 0; c <= 1; c++)
				{

					if (c == 0)
					{
						C = false;/* 说谎:false 诚实:true */
					} else
					{
						C = true;
					}
					if (((A && a + b + c == 2) || (!A && a + b + c != 2))
							&& ((B && a + b + c == 1) || (!B && a + b + c != 1))
							&& ((C && a + b + c == 1) || (!C && a + b + c != 1)))
					{
						System.out.println(A?"诚实族" : "说谎族");
						System.out.println(B?"诚实族" : "说谎族");
						System.out.println(C?"诚实族" : "说谎族");						
					}
				}
			}
		}
	}

}

salida:

说谎族
说谎族
说谎族
Publicado ocho artículos originales · ganado elogios 6 · visitas 178

Supongo que te gusta

Origin blog.csdn.net/Hackergu/article/details/105037832
Recomendado
Clasificación