1. 程式人生 > >Java實現:兩個乒乓球隊進行比賽問題

Java實現:兩個乒乓球隊進行比賽問題

題目:兩個乒乓球隊進行比賽,各出3人。甲隊為A,B,C 3人,乙隊為X,Y,Z 3人。已抽籤決定比賽名單。有人向隊員打聽比賽的名單,A說他不和X比,C說他不和X,Z比,請程式設計序找出3隊賽手的名單。

解析:如果是人經過邏輯推理可以很快的得到結論。但是計算機處理此問題,不可能立即得出結論,而必須對每一種組合一一驗證,找出符合條件的組合。

程式碼一:

public class Test {
	private String A,B,C;//甲隊成員(固定,只需找對應的乙隊成員作為對手)
	
	public static void main(String[] args) {
		String[] str = {"X","Y","Z"};//3個乙隊成員
		//乙隊成員排序
		for (int i = 0; i < 3; i++) {
			for (int j = 0; j < 3; j++) {
				for (int k = 0; k < 3; k++) {
					Test t = new Test(str[i], str[j], str[k]);
					//對手各不相同,並且A不和X比,C不和X,Z比
					if(!t.A.equals(t.B) && !t.A.equals(t.C)&&!t.B.equals(t.C)
							&& !t.A.equals("X") && !t.C.equals("X")&& !t.C.equals("Z")){
						System.out.println("A-->" + t.A);
						System.out.println("B-->" + t.B);
						System.out.println("C-->" + t.C);
					}
				}
			}
		}
	}
	public Test(String A, String B, String C) {
		super();
		this.A = A;
		this.B = B;
		this.C = C;
	}
}

程式碼二:

假設 :A與i比賽,B與j比賽,C與k比賽,i,j,k分別是X,Y,Z 之一,並且i,j,k互不相等

public class Test2 {
	public static void main(String[] args) {
		char i,j,k;
		for (i = 'X'; i <='Z'; i++) {
			for (j = 'X'; j <='Z'; j++) {
				if(i!=j){
					for (k = 'X'; k <='Z'; k++) {
						if(i!=k&&j!=k){
							if(i!='X'&&k!='X'&&k!='Z'){
								System.out.println("A--"+i);
								System.out.println("B--"+j);
								System.out.println("C--"+k);
							}
						}
					}
				}
			}
		}
	}
}


相關推薦

Java實現乒乓球隊進行比賽問題

題目:兩個乒乓球隊進行比賽,各出3人。甲隊為A,B,C 3人,乙隊為X,Y,Z 3人。已抽籤決定比賽名單。有人向隊員打聽比賽的名單,A說他不和X比,C說他不和X,Z比,請程式設計序找出3隊賽手的名單。 解析:如果是人經過邏輯推理可以很快的得到結論。但是計算機處理此問題,不

Java乒乓球隊進行比賽,各出三人。甲隊為A、B、C三人,乙隊為X、Y、Z 三人,已經抽籤決定了比賽名單。已知A 不和X 比,C 不和X、Z 比,請問比賽名單是什麼。

兩個乒乓球隊進行比賽,各出三人。甲隊為A、B、C三人,乙隊為X、Y、Z 三人,已經抽籤決定了比賽名單。已知A 不和X 比,C 不和X、Z 比,請問比賽名單是什麼。 package com.jredu.ch0402.exer; /** * 兩個乒乓球隊進行比賽,各出三人。

題目:兩個乒乓球隊進行比賽,各出三人。甲隊為a,b,c三人,乙隊為x,y,z三人。已抽籤決定比賽名單。有人向隊員打聽比賽的名單,a說他不和x比,c說他不和x,z比,請程式設計序找出三隊賽手大的名單。

通過迴圈巢狀安排對戰順序,再用if語句判斷避免參賽的隊員重複,最後通過題目要求篩選出符合題意的對手。 public class Test18 { public static void main(String[] args) { char a,b,c; for(a = 'x'; a &l

Java 乒乓球隊進行比賽,各出三人。甲隊為a,b,c三人

 兩個乒乓球隊進行比賽,各出三人。甲隊為a,b,c三人,乙隊為x,y,z三人。 已抽籤決定比賽名單。有人向隊員打聽比賽的名單。a說他不和x比,c說他不和x,z比, 請程式設計序找出三隊賽手的名單。 方法一:(個人認為方法二更好理解) for(char i ='x';i<='

乒乓球隊進行比賽問題 C++實現

問題: 兩個乒乓球隊進行比賽,各出3人。甲隊為A,B,C 3人,乙隊為X,Y,Z 3人。已抽籤決定比賽名單。有人向隊員打聽比賽的名單,A說他不和X比,C說他不和X,Z比,請程式設計序找出3隊賽手的名單。

Java 乒乓球隊進行比賽,各出三人。甲隊為a,b,c三人

兩個乒乓球隊進行比賽,各出三人。甲隊為a,b,c三人,乙隊為x,y,z三人。 已抽籤決定比賽名單。有人向隊員打聽比賽的名單。a說他不和x比,c說他不和x,z比, 請程式設計序找出三隊賽手的名單。 for(char i ='x';i<='z';i++){

java經典演算法_017乒乓球隊進行比賽,找出比賽對手名單。

package wzs.arithmetics; import java.util.ArrayList; import java.util.List; //題目:兩個乒乓球隊進行比賽,各出三人。甲隊為a,b,c三人,乙隊為x,y,z三人。 //已抽籤決定比賽名單。有人向

c語言 乒乓球隊進行比賽,各出3人,A說他不和x比,C說他不和x,z比 找出3對賽手的名單

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Prog.C語言 題目:乒乓球隊進行比賽

兩個乒乓球隊進行比賽,各出3人。  甲隊為A,B,C 3人,乙隊為X,Y,Z 3人。已抽籤決定比賽名單。  有人向隊員打聽比賽的名單,A說他不和X比,C說他不和X,Z比,  請程式設計序找出3隊賽手的名單。 演算法實現  void tableTennisMatch(

乒乓球隊進行比賽,各出三人。甲隊為a,b,c三人,乙隊為x,y,z三人。已抽籤決定比賽名單

看到一個面試題  寫了玩玩 import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Map.E

26.乒乓球隊進行比賽

int 計算 col 乒乓球 tdi z比 i++ color print 26.兩個乒乓球隊進行比賽,各處3個人。甲隊為A,B,C3人,乙隊為X,Y,Z三人。已抽簽決定比賽名單。有人向隊員打聽比賽的名單,A說他不和X比,C說他不和X,Z比,請用程序找出3對賽手的名單。 解

java實現有序連結串列合成一個新的有序連結串列

連結串列節點結構及方法: public class Node { private Node next; private Integer number; Node(){} Node(Integer number) { this.number=number; next=n

java實現擷取特殊字元中間的字串

public static void main(String[] args) { String str="jlfjal#jfjfl%jfjjj"; String regex="#(.*?)%"; Pattern p=Pattern.compile(regex); Matcher m=p.matche

程式設計實現int整數在二進位制表達中有多少bit位不同??

.程式設計實現: 兩個int(32位)整數m和n的二進位制表達中,有多少個位(bit)不同? 例如:m=1999 n=2999 輸出:有7個bit位不同 首先思考,如何得知兩個數中有多少個不同的個數? 這裡可以採用異或運算,相同為0,不同為1; 將m^n的結果

Java實現任意整數範圍之間的隨機數

要求:設計一個方法,實現求任意兩個整數範圍之間的隨機數  *核心思路: *隨機區間=(最大值 - 最小值) *區間隨機數=最小值+隨機*(隨機區間+1) *   *例如:求30~50之間的隨機數 *隨機區間= 5

java實現計算日期相差天數

要求:計算1999年1月1日和2018年11月3日相差多少天 思路: 1、每年的天數累加,需判斷閏年、平年 2、每月的天數累加,不同月份天數不同,平年和閏年,2月份的天數也不同 3、將日期天數累加 (因為計算的是相差的天數,所以這個天數需要減1天,所以這裡加2就可以了) packag

java實現計算年份之間相差的天數

要求:計算1999年1月1日到2018年1月1日相差的天數 思路:需要把每年的天數加起來,閏年和平年,一年的天數不同 package com.calendar.test; /** * 計算兩個年份之間相差的天數 * 如:計算1999年1月1日到2018年1月1日相差的天數 *

1.程式設計實現 int(32位)整數m和n的二進位制表達中, 有多少個位(bit)不同? 輸入例子: 1999 2299 輸出例子:7

方法一: 演算法思想:由於要找兩個數對應不同位元位的個數,可以先將兩個數按位異或,然後再統計異或後的數中的一的個數,而統計二進位制中1的個數有三種方法;1.這個數迴圈按位 於比它小1的數,直到這個數為0為止;2.把這個數的每一個二進位制位拿出來,用的方法是和1相與,移位,迴

java實現計算日期相差多少月、比較日期大小 等常用日期操作

import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.u