• 2017SN多校D1T1 loveletter:模拟


    题意:

      两张n*m的纸。一张透明纸,上面有些地方是黑的,有些地方是透明的。另一张纸上写满了字母。

      你需要将透明纸放在写字的纸上,分别顺时针旋转0°、90°、180°、270°,每次从上到下、从左到右写下露出的字符,四次之后所得到的字符串即为答案。

    题解:

      模拟即可。

      4个双重for循环,每个循环内四个坐标i,j,a,b,分别为透明纸的行列和写字的纸的行列。

    AC Code:

     1 #include <iostream>
     2 #include <stdio.h>
     3 #include <string.h>
     4 #define MAX_N 1005
     5 
     6 using namespace std;
     7 
     8 int n;
     9 char p[MAX_N][MAX_N];
    10 char c[MAX_N][MAX_N];
    11 string s;
    12 
    13 void read()
    14 {
    15     cin>>n;
    16     for(int i=0;i<n;i++)
    17     {
    18         for(int j=0;j<n;j++)
    19         {
    20             cin>>p[i][j];
    21         }
    22     }
    23     for(int i=0;i<n;i++)
    24     {
    25         for(int j=0;j<n;j++)
    26         {
    27             cin>>c[i][j];
    28         }
    29     }
    30 }
    31 
    32 void solve()
    33 {
    34     for(int i=0,a=0;a<n;i++,a++)
    35     {
    36         for(int j=0,b=0;b<n;j++,b++)
    37         {
    38             if(p[i][j]=='O') s+=c[a][b];
    39         }
    40     }
    41     for(int j=0,a=0;a<n;j++,a++)
    42     {
    43         for(int i=n-1,b=0;b<n;i--,b++)
    44         {
    45             if(p[i][j]=='O') s+=c[a][b];
    46         }
    47     }
    48     for(int i=n-1,a=0;a<n;i--,a++)
    49     {
    50         for(int j=n-1,b=0;b<n;j--,b++)
    51         {
    52             if(p[i][j]=='O') s+=c[a][b];
    53         }
    54     }
    55     for(int j=n-1,a=0;a<n;j--,a++)
    56     {
    57         for(int i=0,b=0;b<n;i++,b++)
    58         {
    59             if(p[i][j]=='O') s+=c[a][b];
    60         }
    61     }
    62 }
    63 
    64 void print()
    65 {
    66     cout<<s<<endl;
    67 }
    68 
    69 int main()
    70 {
    71     freopen("loveletter.in","r",stdin);
    72     freopen("loveletter.out","w",stdout);
    73     read();
    74     solve();
    75     print();
    76 }
  • 相关阅读:
    python正则表达式(+ {})(二)
    14丨 HTTP有哪些优点?又有哪些缺点?
    python正则表达式(. *)(一)
    12丨响应状态码该怎么用?
    Fiddler—Fiddler+willow插件应用(十四)
    11丨你能写出正确的网址吗?
    【洛谷P1858】多人背包
    【洛谷P3387】(模板)缩点
    【洛谷P2184】贪婪大陆
    Leetcode: 39. Combination Sum
  • 原文地址:https://www.cnblogs.com/Leohh/p/7401601.html
Copyright © 2020-2023  润新知