zoukankan      html  css  js  c++  java
  • 1042. Shuffling Machine (20)

    题目连接:https://www.patest.cn/contests/pat-a-practise/1042

    20分的题耗费了我这么多时间……还是C++不熟练啊!

    我的主要思路就是使用map映射,关键字为序号,值为字符;每次将改变后的存入ans中,随后更新machine。注意map可以自动按照关键字进行由小到大的排序,因此可以方便地访问。

    不熟悉之处:数字转字符串、可以直接machine=ans;

     1 #include<stdio.h>
     2 #include<map>
     3 #include<string>
     4 #include<iostream>
     5 #include<stdlib.h>
     6 using namespace std;
     7 int main()
     8 {
     9     map<int,string>Machine,Auto,ans,empty;
    10     Auto[1]='S';Auto[2]='H';Auto[3]='C';Auto[4]='D';Auto[5]='J';
    11     int i=1,cnt=1,j=1;
    12     string s;
    13     char sh[3];
    14     string D;
    15     while(j<=54)
    16     {
    17         if (i%14==0){i=1;cnt++;}
    18         //itoa(i,sh,10);
    19         sprintf(sh,"%d",i);
    20         D=Auto[cnt];
    21         Machine[j]=D+sh;
    22         i++;
    23         j++;
    24     }
    25     int K,rule[60];
    26     scanf("%d",&K);
    27     for (i=1;i<=54;i++)scanf("%d",&rule[i]);
    28     i=1;
    29     map<int,string>::iterator it;
    30 
    31     while(K--){
    32         i=1;
    33         for (it=Machine.begin();it!=Machine.end();it++) {
    34         ans[rule[i++]]=it->second;
    35         }
    36         Machine=ans;
    37         }
    38 
    39 int flag=0;
    40     for (it=Machine.begin();it!=Machine.end();it++)
    41     {
    42         if(flag==0){cout<<it->second;flag=1;}
    43         else cout<<" "<<it->second;
    44     }
    45     return 0;
    46 }
  • 相关阅读:
    sublimetext ruby 插件
    [C]goto statement, rarely been used. Deprecated???
    [C]union
    [C] Struct Test
    [C,Java,Python]Command Line Argument: argv, argc, sys.argv, args
    [Python]**otherInfo, *other
    [C]parameterized macros 带参数的宏
    [C]指针与结构变量
    [C]结构变量传递给函数
    [C]结构变量数组array of structure varibles
  • 原文地址:https://www.cnblogs.com/wuxiaotianC/p/6405333.html
Copyright © 2011-2022 走看看