1、定义入围世界杯球队信息。球队包括球队名以及所属大洲。
2、根据入围球队信息(队名,所属大洲,分档),初始化球队类。我们定义了几个常量用来更好的标识所属大洲属性。
3、按照抽签规则,第一档球队除了东道主固定在A组,其他7支队伍则随机分配。第二档、第三档、第四档的球队则还需要满足抽签规则,每个小组欧洲球队最多两支,其他大洲球队最多一支。所以,先抽取第一档球队。
4、分别抽取后面三档球队,每次抽签时,先查找该档剩下的每支球队可被分配的小组。
5、如果有球队的可被分配的小组只有1个,那么该队就必须要分配到该小组。
6、如果没有唯一确定的小组,则随机抽签。先随机抽取球队,再从该球队可分配的小组中随机抽取小组,这样就把球队分配到组里。
7、最后再打印抽签结果。
8、抽签其实是个很复杂的过程,因为有随机的因素,所以我们可以这么涠础险渥操作。但是抽签还是会遇到一些问题,比如:有两个队都可以分配到2,3小组,有另外一个队可以分配到2,3,4小组,那么这个队其实只可以分配到第4小组。还有因为我们分配规则导致剩下几个队的都只能分配到一个小组的情况出现等。这些异常情况导致算法其实比较复杂,但是因为随机抽签的原因,我们可以简单的重新抽签就可以了,毕竟异常情况出现还是比较少的。