五個人互相傳球

2021-08-17 03:08:06 字數 1185 閱讀 5634

a/b/c/d/e五個人互相傳球,由a開始第一次傳球,經5次傳球後傳回到a的手上,其中a與b不會相互傳球,c只會傳給d,e不會傳給c,共有多少種傳法?

思路:

設接球人的序列為:a***xa,其中中間4位是未知的.

根據條件列出不合法的情況,及對應正則:

相鄰兩個相同的(自己不能傳給自己):(.)\1+

a後是b或b後是a的:ab|ba

c後不是d的:c[^d]

e後是c的:ec

拼接起來就是:(.)\1+|ab|ba|c[^d]|ec

先不考慮條件找出所有可能,再把每種可能使用以上規則過濾一遍,得到的就是需求的

實現:

public

static

void

main(string args)

}system.out.println(list);

system.out.println(list.size());

}/**

* 使用字元陣列中的字元,組成長度為n的字串,字元可以重複.

* *@param chars

*@param n

*@return 結果長度為chars.length^n

*/public

static string samplingwithreplacement(char chars, int n) ;

} else

string result = new string[preresult.length * chars.length];

int i = 0;

for (string prestring : preresult)

}return result;

}

結果:

[acdada, acdaea, acdbda, acdbea, acdcda, acdeda, adacda, adadea, adaeda, adbcda, adbdea, adbeda, adcdea, adeada, adeaea, adebda, adebea, adedea, aeacda, aeadea, aeaeda, aebcda, aebdea, aebeda, aedada, aedaea, aedbda, aedbea, aedcda, aededa]

30

周五個人賽總結

這次個人賽四個小時的時間只解出來了乙個題,還是乙個水題,通過這次比賽暴露了自身存在的的幾個問題。1.解題的順序上,不願意捨棄已經有一點思路的難題,這種題可能以現在的水平,在四個小時內根本無法解出,或者根本無法正確的解出。在本次比賽中,一道題花費了兩個多小時的時間,終於將能通過案例的 寫出,但在提交後...

執行緒安全(五個人同時過橋)

有五個人同時過乙個獨木橋,乙個獨木橋同時只能允許乙個人通過。每乙個人通過獨木橋的時間是隨機在 5,10 秒,輸出這個獨木橋上每乙個人的通過詳情,例如 張三開始過獨木橋了 張三通過獨木橋了 public class test class dmqimplements runnable catch int...

職場中五個人對你最重要

第乙個,導師,教練。他教給你實用的技巧 一定的工作經驗,雖不是知識,但它可以給你指明方向。這個人可能是你的上司 前輩 學長。第二個,陪練,同路人,任何人的成長都不是學出來的,而是學而習,習而成習慣練出來的。這個練的過程,是乙個很苦的過程,是一系列簡單動作的重複重複再重複,由量變成質變的過程。在這個過...