• A1042


    洗牌,共洗k次,每次将将原先的牌洗进输入好的位置。

    步骤:

    1 设置次数k,输入位置数列next[55],填充初始牌序start[55];

    2 end[next[i]]=start[i]把新的牌序赋值给end数组,并将end数组重新赋值给start数组,共重复k次;

    3 由于设置的花色数组mp[5]的序号是0-4,即用1-54/13后,结果对应相应的mp元素。因为n*13/13==1,需要将数组值全部-1,得到正确的mp序号。

       在数组值全部-1后,start[i]%13的结果为0-12,需要start[i]%13+1来得到正确的结果1-13

    注:由于1-13%13的结果是1,2,3…12,0,必须将数组的整体值-1后取余得到0,1,2…12后再+1才能得到正确结果。否则13的倍数牌将显示为0.

     1 #include<stdio.h>
     2 int main(){
     3     char mp[5]={'S','H','C','D','J'};
     4     int start[55],end[55],next[55];
     5     int k;
     6     scanf("%d",&k);
     7     for(int i=1;i<=54;i++){
     8         scanf("%d",&next[i]);
     9         start[i]=i;
    10     }
    11     for(int j=0;j<k;j++){
    12         for(int i=1;i<=54;i++){
    13             end[next[i]]=start[i];
    14         }
    15         for(int i=1;i<=54;i++){
    16             start[i]=end[i];
    17         }
    18     }
    19     for(int i=1;i<=54;i++){
    20         start[i]--;
    21         printf("%c%d",mp[start[i]/13],start[i]%13+1);
    22         if(i!=54) printf(" ");
    23     }
    24     return 0;
    25 }
  • 相关阅读:
    ASP.NET MVC 音乐商店 1 创建项目
    ASP.NET MVC 音乐商店 2.控制器
    TCP/IP体系结构
    C#线程系列
    多条件分页查询细节
    持续集成引擎 Hudson 和IOC 引擎StructureMap
    GoF著作中未提到的设计模式
    Thoughtworks
    Thoughtworks2
    监控 SQL Server 的运行
  • 原文地址:https://www.cnblogs.com/Lynn-2019/p/12069218.html
Copyright © 2020-2023  润新知