2 条题解

  • 0
    @ 2025-8-22 16:48:09

    嗨嗨嗨,我又来写题解啦😁😁😁

    这道题十分简单,

    我们可以分类讨论,

    我们先考虑第一排和第二排;

    for(int i=0;i<a;i++){
    		if(i==0||i==a-1){
    			for(int j=0;j<s;j++) cout<<d;
    			cout<<'\n';
    		}
    	}
    

    中间有两种情况,一种是实心,一种是空心,

    但我们可以先写出第一个和最后一个,

    else{
    			cout<<d;
    			cout<<d<<'\n';
    		}
    

    然后考虑中间,

    其实就是输出空格或符号,

    for(int j=0;j<s-2;j++){
    				if(f==1) cout<<d;
    				else cout<<' ';
    			}
    

    我们就做好了!!!

    再组合一下,就是完整代码啦( •̀ ω •́ )✧

    #include<iostream>
    using namespace std; 
    int main (){
    	int a,s;
    	char d;
    	int f;
    	cin>>a>>s>>d>>f;
    	for(int i=0;i<a;i++){
    		if(i==0||i==a-1){
    			for(int j=0;j<s;j++) cout<<d;
    			cout<<'\n';
    		}else{
    			cout<<d;
    			for(int j=0;j<s-2;j++){
    				if(f==1) cout<<d;
    				else cout<<' ';
    			}cout<<d<<'\n';
    		}
    	} 
     }
    

    是不是很简单,那就点个好评吧!!!

    ☺🤗☺

    信息

    ID
    4533
    时间
    1000ms
    内存
    512MiB
    难度
    1
    标签
    (无)
    递交数
    64
    已通过
    37
    上传者