• 【洛谷P1538】迎春舞会之数字舞蹈


    迎春舞会之数字舞蹈

    题目链接

    一道奇怪的模拟题,

    先将样例输出复制下来,观察观察

          --   --        --   --   --   --   --   --   ①
       |    |    | |  | |    |       | |  | |  | |  |  ②
       |    |    | |  | |    |       | |  | |  | |  |
          --   --   --   --   --        --   --        ③
       | |       |    |    | |  |    | |  |    | |  |  ④
       | |       |    |    | |  |    | |  |    | |  |  
          --   --        --   --        --   --   --   ⑤

    将数字从上到下分成5个部分分别模拟

     1 //      --   --        --   --   --   --   --   -- 
     2 //   |    |    | |  | |    |       | |  | |  | |  |
     3 //   |    |    | |  | |    |       | |  | |  | |  |
     4 //      --   --   --   --   --        --   --      
     5 //   | |       |    |    | |  |    | |  |    | |  |
     6 //   | |       |    |    | |  |    | |  |    | |  |
     7 //      --   --        --   --        --   --   -- 
     8 #include<iostream>
     9 #include<cstring>
    10 #include<cstdio>
    11 using namespace std;
    12 int k,n;
    13 char s[260],s1[260],s2[260],s3[260],s4[2600];
    14 int main()
    15 {
    16     scanf("%d%s",&k,s+1);
    17     n=strlen(s+1);
    18     for(int i=1;i<=k;i++){
    19         s1[i]=' ';
    20         s2[i]='-';
    21     }
    22     s1[0]=' '; s1[k+1]=' ';
    23     s2[0]=' '; s2[k+1]=' ';
    24     for(int i=1;i<=n;i++){
    25         if(s[i]=='1'||s[i]=='4')
    26          cout<<s1;
    27         else cout<<s2;
    28         if(i!=n) cout<<' ';
    29     }
    30     cout<<endl;
    31     int len=strlen(s1);
    32     for(int i=0;i<len;i++)
    33      s3[i]=s1[i];
    34     for(int i=1;i<=n;i++){
    35         s3[0]=s3[k+1]=' ';
    36         if(s[i]!='5'&&s[i]!='6') s3[k+1]='|';
    37         if(s[i]!='1'&&s[i]!='2'&&s[i]!='3')
    38          if(s[i]!='7') s3[0]='|';
    39         int len1=strlen(s4),len2=strlen(s3);
    40         for(int j=len1;j<=len1+len2-1;j++)
    41          s4[j]=s3[j-len1];
    42         if(i!=n) s4[len1+len2]=' ';
    43     }
    44     for(int i=1;i<=k;i++)
    45      cout<<s4<<endl;
    46     for(int i=1;i<=n;i++){
    47         if(s[i]=='1'||s[i]=='7'||s[i]=='0')
    48          cout<<s1;
    49         else cout<<s2;
    50         if(i!=n) cout<<' ';
    51     }
    52     cout<<endl;
    53     int o=strlen(s4);
    54     memset(s4,0,sizeof(s4));
    55     for(int i=1;i<=n;i++){
    56         s3[0]=s3[k+1]=' ';
    57         if(s[i]!='2') s3[k+1]='|';
    58         if(s[i]=='2'||s[i]=='6'||s[i]=='8'||s[i]=='0')
    59          s3[0]='|';
    60         int len1=strlen(s4),len2=strlen(s3);
    61         for(int j=len1;j<=len1+len2-1;j++)
    62          s4[j]=s3[j-len1];
    63         if(i!=n) s4[len1+len2]=' ';
    64     }
    65     for(int i=1;i<=k;i++)
    66      cout<<s4<<endl;
    67     for(int i=1;i<=n;i++){
    68         if(s[i]=='1'||s[i]=='4'||s[i]=='7')
    69          cout<<s1;
    70         else cout<<s2;
    71         if(i!=n) cout<<' ';
    72     }
    73     return 0;
    74 }
  • 相关阅读:
    非常优秀的iphone学习文章总结!
    转载:开源一款酷跑游戏源码完整版
    Faiss学习:一
    揭开Faiss的面纱 探究Facebook相似性搜索工具的原理
    集成学习总结 & Stacking方法详解
    转:fastText原理及实践(达观数据王江)
    转:ubuntu 下GPU版的 tensorflow / keras的环境搭建
    转:PCA的Python实现
    2017知乎看山杯总结(多标签文本分类)
    转:TensorFlow入门(六) 双端 LSTM 实现序列标注(分词)
  • 原文地址:https://www.cnblogs.com/yjkhhh/p/9326070.html
Copyright © 2020-2023  润新知