[Blue Bridge Cup 2015 Vorwettbewerb] Print Big X.

Titel Beschreibung

Xiao Ming hofft, Sternchen verwenden zu können, um ein großes X zusammenzusetzen und zu drucken. Er benötigt die Fähigkeit, die Breite der Striche und die Höhe des gesamten Charakters zu steuern.
Um den Vergleich von Räumen zu erleichtern, werden alle Räume durch Punkte ersetzt.
Es müssen zwei Ganzzahlen mn eingegeben werden, die die Breite des Stifts und die Höhe von X darstellen.
Eingabe
Es gibt mehrere Datensätze.
Jeder Satz von Testdaten gibt eine Zeile ein, einschließlich zwei Ganzzahlen, die durch Leerzeichen getrennt sind
(0 <m <n, 3 <n <1000, stellen Sie sicher, dass n eine ungerade Zahl ist). Die
Ausgabe
erfordert ein großes X.

Beispieleingabe

3 9
4 21

Beispielausgabe

***.....***
.***...***.
..***.***..
...*****...
....***....
...*****...
..***.***..
.***...***.
***.....***
****................****
.****..............****.
..****............****..
...****..........****...
....****........****....
.....****......****.....
......****....****......
.......****..****.......
........********........
.........******.........
..........****..........
.........******.........
........********........
.......****..****.......
......****....****......
.....****......****.....
....****........****....
...****..........****...
..****............****..
.****..............****.
****................****

Code wie folgt anzeigen:

#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;

char a[1000][1000];

int main()
{
    
    
	int w, h;
	while(cin >> w >> h){
    
    
		int s = h-1+w;
		memset(a, 0 ,sizeof(a));
		for(int i = 0; i < h; i ++){
    
    
			for(int j = 0; j < s; j ++){
    
    
				if(j < w)
					a[i][j+i] = '*';
				if(j > (s-w)-1)
					a[i][j-i] = '*';
			}	
		}
		for(int i = 0; i < h; i ++){
    
    
			for(int j = 0; j < s; j ++)
				if(a[i][j] != '*')cout << ".";
				else cout << a[i][j];
			cout << endl;	
		}
	}
	
	return 0;
}

Ich denke du magst

Origin blog.csdn.net/diviner_s/article/details/108918085
Empfohlen
Rangfolge