0
点赞
收藏
分享

微信扫一扫

2012蓝桥杯省赛:扑克牌移动

萨摩斯加士奇 2022-03-11 阅读 53

扑克牌移动

请模拟一套扑克牌(初始排序 AA ~ KK,共 13 张)的操作过程。
操作过程是: 手里拿着这套扑克牌,从前面拿一张放在后面,再从前面拿一张放桌子上,再从前面拿一张放在后面,… 如此循环操作,直到剩下最后一张牌也放在桌子上。
请求出最后桌上的牌的顺序。

AC代码

import java.util.*;
public class Main
{
    public static List moveCard(List src)
    {
        if(src==null) return null;
        
        List dst = new Vector();
        for(;;)
        {
            if(src.size() == 0) break; 
            src.add(src.remove(0));	//把第一个排放到该叠牌的最后
            dst.add(src.remove(0)); //把一张牌放到桌上
        }
        return dst;
    }
    
    public static void main(String[] args)
    {
        List a = new Vector();
        a.addAll(Arrays.asList("A","2","3","4","5","6","7","8","9","10","J","Q","K"));
        System.out.println(moveCard(a));
    }
}
举报

相关推荐

0 条评论