Skip to content
On this page

团队合作换牌游戏

规则:

材料:扑克牌一副(抽去大小“司令”,一共为52张),笔、A4纸若干 过程设计:

  1. 培训师事先在培训场地上放14张椅子,每7张椅子摆成一个金子塔形状,然 后请14名学员上台,7个人为一组,分为两组。按A、B、C、D、E、F、G、H坐在摆好的椅子上(A坐在金字塔的塔尖,其它按从左至右的顺序坐好。其中A是B、C的上司,B是E、F的上司,C是G、H的上司),同时发给每个人用A4纸裁好的小纸条20张、笔一支、扑克牌四张。

  2. 培训师宣布游戏规则:每个人都只能跟上下级交流换牌,而不能同级或越 级交流换牌(如B与C,F与C,A与F);并且每次只能交换一张牌。在15分钟里通过换牌使得这个组织中的每一个人的牌都换到最优。

  3. 游戏的结果看看两个小组牌的组合谁最优(先比较牌的组合数的多少,再 比较牌组的大小。依照同花顺、四条、顺子、三拖一、对子的大小来组合,如果出现了一副没有一条符合上述标准的最差的牌组,不计算组合数),即为获胜组。

时间推进表:

游戏准备需10分钟,游戏进行需15分钟,游戏结束后分享需10分钟 注意事项:只允许上下级进行交流,不允许同级或越级交流。

启发性问题:

  1. 在规定时间内顺利完成任务的关键是什么?
  2. 组织中A的作用是什么?
  3. 游戏中信息交流的方式有什么局限?用来交换的牌到底是什么?对企业管理有什么启示?

算法

  • 思想

现在假设有n=2k个人,每人手中有n张相同的牌。 现在打乱拍,使得每人手中的牌都不一样,规则同上。

类似冒泡排序算法,复杂度O(n2):

编码,规定每个图案的大小,由1-n。

  • 变量:
  1. 长度:len = n;
  2. 起始位置:start = 1;
  3. 结束位置:end = n;
  4. 轮数:round,奇数轮为true,偶数轮为false;
  5. 循环起始位置:_start = start。
  • 伪代码:
javascript
while(len > 0){
	sort(Person[i](card[j]);
	if(round){
		for(_start;_start <= len;_start += 2){
			swap(Person[_start](card[0],card[1]),Person[_start+1](card[2],card[3]);
		}
		round ~= round;
		same(Person[start]) == start ? { start++;len--} : start;
		same(Person[end]) == start ? { end--;len--} : end;
		_start = start + 1;
	}else{
		for(_start;_start <= len;_start += 2){
			swap(Person[_start](card[0],card[1]),Person[_start+1](card[2],card[3]);
		}
		round ~= round;
		_start = start;
	}
}
  • 文字描述:
  1. 参与人数为手中牌还没有完全相同的人,len;

  2. 初始起始位置为1号位,起始结束位置为n号位,它们会随参与人数的减少而增减,start,end;

  3. 每轮开始,所有人手中的牌都按升序,从左到右排序;

  4. 定义奇数轮执行A操作,偶数轮执行B操作;

    • A操作:

    从起始位,两两换牌,低位的人交出最大的两张牌,高位的人交出最小的两张牌

    • B操作

    从起始位的下一位开始两两换牌,方式同A

  5. 每次执行完A、B操作,都要判断起始位和结束位的人,自己手中牌是否与对应位置全部的牌一样(例如1号位手中全是5号位的牌不算),如果一样,则示意退出游戏,并且大家记住起始和结束位置的增减,如果不一样,继续游戏;

  6. 如果参与人数为0,则游戏结束。

  • 实例

最差情况实例:想要的牌都离自己最远

text
A:8765
B:8765
C:8765
D:8765
E:1234
F:1234
G:1234
H:1234

第一轮:
5566
7788
5566
7788
1122
3344
1122
3344

第二轮:
5566
5577
6688
1177
2288
1144
2233
3344

第三轮:
5555如果可以自由走动,不需要只传给身边的人,就可直接退出游戏了
6677
1166
7788
1122
4488
3333如果可以自由走动,不需要只传给身边的人,就可直接退出游戏了
2244

第四轮:
5555
1166
6677
1177
2288
3344
3388
2244

第五轮:
1155
5566
1166
7777
2244
3388
2233
4488

第六轮:
1155
1155
6666
2277
4477
2233
3388
4488

第七轮:
1111 same start++ len--
5555
2266
6677
2244
3377
3344
8888 same end-- len--

第八轮:
2255
5566
2266
4477
3333
4477

第九轮:
2255
2255
6666
3344
3377
4477

第十轮:
2222 same start++ len--
5555
3366
4466
3344
7777 same end-- len--

第十一轮:
5555
3344
6666
3344

第十二轮:
3355
4455
3366
4466

第十三轮:
3355
3344
5566
4466

第十四轮:
3333 same start++ len--
4455
4455
6666 same end-- len--

第十五轮
4444 same start++ len--
5555 same end-- len--

len=0,游戏结束