zoukankan      html  css  js  c++  java
  • 【洛谷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 }
  • 相关阅读:
    86. Partition List
    328. Odd Even Linked List
    19. Remove Nth Node From End of List(移除倒数第N的结点, 快慢指针)
    24. Swap Nodes in Pairs
    2. Add Two Numbers(2个链表相加)
    92. Reverse Linked List II(链表部分反转)
    109. Convert Sorted List to Binary Search Tree
    138. Copy List with Random Pointer
    为Unity的新版ugui的Prefab生成预览图
    ArcEngine生成矩形缓冲区
  • 原文地址:https://www.cnblogs.com/yjkhhh/p/9326070.html
Copyright © 2011-2022 走看看