思路:把A-G一字排开之后,
① 把第1位上的字母拉到最后1位;
② 在头6位字母中,第1位和最后1位配对,第2位和倒数第2位配对,第3位和倒数第3位配对;
③ 重复以上过程,则7次之后,顺利排完。- @echo off
- setlocal enabledelayedexpansion
-
- :Main
- cls
- set str=A B C D E F G
- set total=0
- for %%i in (%str%) do set /a total+=1
- set /a team=%total%/2
- set day=0
- for %%i in (%str%) do (
- set str=!str:%%i =! %%i
- set /a day+=1
- set num=0
- for %%j in (!str!) do (
- set /a num+=1
- set str_!num!=%%j
- )
- set str_tmp=
- for /l %%j in (1,1,%team%) do (
- set /a num_tmp=!total!-%%j
- call set str_tmp=!str_tmp! !str_%%j! vs %%str_!num_tmp!%%
- )
- echo 第!day!天:!str_tmp! %%i 轮空
- )
- pause
- goto Main
复制代码
|