pranay_teja
10/5/2018 - 6:51 AM

myKaarma Pattern problem

#include<bits/stdc++.h>
using namespace std;

// #Pattern #Placement
/* Test Case:
	3
	Output:
	3 3 3 3 3
	3 2 2 2 3
	3 2 1 2 3
	3 2 2 2 3
	3 3 3 3 3
*/

void pattern(int n);
void setPattern(vector< vector<int> > &a,int start,int end, int n);

int main(){
	int n;
	cin>>n;
	pattern(n);
	return 0;
}

void pattern(int n){
	int m=(2*n)-1;
	vector< vector<int> > a(m);
	for(int i=0;i<m;i++){
		a[i].resize(m);
	}
	for(int i=0;i<m;i++){
		for(int j=0;j<m;j++){
			a[i][j]=-1;
		}
	}
	setPattern(a,0,m-1,n);
	for(int i=0;i<m;i++){
		for(int j=0;j<m;j++){
			cout<<a[i][j]<<" ";
		}
		cout<<endl;
	}
	
}
void setPattern(vector< vector<int> > &a,int start,int end, int n){
	if(start==end){
		a[start][start]=1;
		return;
	}else{
		for(int i=start;i<=end;i++){
			for(int j=start;j<=end;j++){
				a[i][j]=n;
			}
		}
		setPattern(a,start+1,end-1,n-1);
	}
}