18 条题解

  • 1
    @ 2026-8-8 13:36:56
    ```cpp
    #include<iostream>//#953-2026.8.8
    #include<cmath>
    #include<iomanip>
    #include <cstring>
    using namespace std;
    int INF=0x3f3f3f3f;
    const int N=100000+10;
    int n;
    int main()
    {
        cin>>n;
        for(int i=1;i<=n;i++)
            cout<<"*";
        //第一行
        cout<<endl;
        for(int i=1;i<=(n-1)/2-1;i++)
        {//上半部分
            for(int k=1;k<=(n-1)/2-i+1;k++)
                cout<<"*";//左半边*号
            for(int k=1;k<=i-1;k++)
                cout<<" ";//左半边空格
            cout<<" ";//中间的空格
            for(int k=1;k<=i-1;k++)
                cout<<" ";//右边的空格
            for(int k=1;k<=(n-1)/2-i+1;k++)
                cout<<"*";//右边的*号
            cout<<endl;//一行结束
        }
        cout<<"*";
        for(int i=1;i<=n-2;i++)
            cout<<" ";
        cout<<"*"<<endl;//中间一行
        for(int i=(n-1)/2-1;i>=1;i--)
        {
            for(int k=1;k<=(n-1)/2-i+1;k++)
                cout<<"*";
            for(int k=1;k<=i-1;k++)
                cout<<" ";
            cout<<" ";
            for(int k=1;k<=i-1;k++)
                cout<<" ";
            for(int k=1;k<=(n-1)/2-i+1;k++)
                cout<<"*";
            cout<<endl;
        }//下半部分
        for(int i=1;i<=n;i++)
            cout<<"*";//最后一行
        return 0;
    }
    
    

    代码可能有点复杂

    信息

    ID
    953
    时间
    1000ms
    内存
    128MiB
    难度
    6
    标签
    递交数
    605
    已通过
    323
    上传者