1 条题解

  • 0
    @ 2023-07-03 13:54:36

    题解

    根据样例找规律。

    前面 \(3n\) 行,每行 \(n\) 个 \('*'\) , 然后 \(2n\) 个 '.', 最后 \(n\) 个 \('*'\);

    后面 \(n\) 行,第 \(i\) 行按顺序分别为 \(i\) 个 \('.'\) \(n\) 个 \('*'\) \(2n-2i\)个'.' \(n\)个 \('*'\) \(i\)个\('.'\)

    示例代码

    void Solve()
    {
        int n;  cin >> n;
        
        for(int i=0; i<3*n; i++)
        {
            string str;
            
            for(int j=0; j<n; j++)  str.push_back('*');
            for(int j=0; j<2*n; j++)    str.push_back('.');
            for(int j=0; j<n; j++)  str.push_back('*');
            
            cout << str << endl;
        }
        
        for(int i=1; i<=n; i++)
        {
            string str;
            
            for(int j=0; j<i; j++)  str.push_back('.');
            for(int j=0; j<n; j++)  str.push_back('*');
            for(int j=0; j<2*(n-i); j++) str.push_back('.');
            for(int j=0; j<n; j++)  str.push_back('*');
            for(int j=0; j<i; j++)  str.push_back('.');
            
            cout << str << endl;
        }
    } 
    
  • 1

信息

ID
1419
难度
1
分类
(无)
标签
(无)
递交数
61
已通过
45
通过率
74%
上传者