1 solutions

  • 0
    @ 2022-10-10 11:27:30

    我们构造一个100x100的矩阵,然后从中间分成上面全黑下面全白 image.pngimage 题目要求A个白色连通块和B个黑色连通块 那就在上面黑色区域交错填A-1个白色格子,在下面白色区域交错填B-1个黑色格子就好了 比如A=11,B=5 image.pngimage 黑色区域是50x100那么这样填最多可以填25x50=1250个肯定满足题目要求

    #include<bits/stdc++.h>
    using namespace std;
    char ma[105][105];
    int main()
    {
        int a,b;
    	cin>>a>>b;
    	for(int i=0;i<50;i++){
    		for(int j=0;j<100;j++){
    			ma[i][j]='#';
    		}
    	} 
    	for(int i=50;i<100;i++){
    		for(int j=0;j<100;j++){
    			ma[i][j]='.';
    		}
    	}
    	a--;
    	b--;
    	for(int i=0;i<50;i+=2){
    		for(int j=0;j<100;j+=2){
    			if(a)ma[i][j]='.',a--;
    		}
    	}
    	
    	for(int i=51;i<100;i+=2){
    		for(int j=0;j<100;j+=2){
    			if(b)ma[i][j]='#',b--;
    		}
    	}
    	cout<<"100 100"<<'\n';
    	for(int i=0;i<100;i++){
    		for(int j=0;j<100;j++){
    			cout<<ma[i][j];
    		}
    		cout<<endl;
    	}
    
        return 0;
    }
    

    Information

    ID
    6582
    Time
    100ms
    Memory
    64MiB
    Difficulty
    10
    Tags
    # Submissions
    141
    Accepted
    2
    Uploaded By