# PROBLEM LINK:

*Author:* Ashraf Khan

*Tester:* Ashraf Khan

*Editorialist:* Ashraf Khan

# DIFFICULTY:

EASY, MEDIUM

# PREREQUISITES:

Basic programming knowledge, Loops, Understanding patterns

# PROBLEM:

Chef is inspired from the *Batman′s Signal* and now wish to make a similar Signal for *Black Widow*.

For this, he picks a number *N>2* and prints a pattern of *(N*2)−1* lines. For example, for *N=3* the pattern will have *5 lines* comprising of only ‘#’ symbols separated by *single white−space* and the complete pattern will look like:

```
# # # # #
# # #
#
# # #
# # # # #
```

**Note:** There’s a single space after every ‘#’ symbol.

Help Chef to print the *Signal* for *Black* *Widow*.

# EXPLANATION:

For a given number *N*, you are supposed to print *(N*2)-1* lines of the pattern.

Multiple loops will be needed to achieve this kind of pattern.

First take an input *N*.

Then initialize a variable to zero *(say i = 0)*.

Now, start our first major loop which will go from *i* to *N-1* (i.e. *i < N*). Inside this loop, print " " (two white-spaces without double-quotes) *i*-times, then print "# " (’#’ and ’ ’ without double-quotes) (*(N*2)-1-(2*i)*)-times, then print a next-line element (like \n) and then increment *i* by 1. Then finally end this loop.

After coming out of this first loop, decrement *i* by 1.

Now, start the second major loop which will go from *i* to *1* (i.e. *i > 0*). Inside this loop, first decrement *i* by 1 and then print " " (two white-spaces without double-quotes) *i*-times, then print "# " (’#’ and ’ ’ without double-quotes) (*(N*2)-1-(2*i)*)-times, then print a next-line element (like \n). Now end this loop.

Print a next-line element (like \n) one last time after the second major loop ends.

Here, the first major loop is used to print first half of the pattern (i.e. first N lines) and the second major loop is used to print the rest of the pattern.

# SOLUTIONS:

## Setter's Solution

```
N = int(input())
i = 0
while(i<N):
print(' '*i, end="")
print('# '*((N*2)-1-(2*i)))
i += 1
i -= 1
while(i>0):
i -= 1
print(' '*i, end="")
print('# '*((N*2)-1-(2*i)))
print()
```

## Tester's Solution

```
#include <iostream>
using namespace std;
int main() {
int N;
cin >> N;
int i = 0;
while(i < N) {
for(int j = 0; j < i; j++) {
cout << " ";
}
for(int j = 0; j < ((N*2)-1-(2*i)); j++) {
cout << "# ";
}
cout << endl;
i++;
}
i--;
while(i > 0) {
i--;
for(int j = 0; j < i; j++) {
cout << " ";
}
for(int j = 0; j < ((N*2)-1-(2*i)); j++) {
cout << "# ";
}
cout << endl;
}
cout << endl;
return 0;
}
```

## Editorialist's Solution

```
N = int(input())
i = 0
while(i<N):
print(' '*i, end="")
print('# '*((N*2)-1-(2*i)))
i += 1
i -= 1
while(i>0):
i -= 1
print(' '*i, end="")
print('# '*((N*2)-1-(2*i)))
print()
```