Filling Holes with Wooden Sticks

Filling Holes with Wooden Sticks

 PROBLEM STATEMENT :




SOLUTIONS :

C (Programming Language)

       

#include<stdio.h> #include<stdlib.h> int main() { int r,c,i,j,n,k,flag=0; scanf("%d %d\n",&r,&c); char ch[r][c],s[2]; for(i=0;i<r;++i) { for(j=0;j<c;++j) { scanf("%s",s); ch[i][j]=s[0]; } } scanf("%d\n",&n); int x[n]; for(i=0;i<n;++i) { scanf("%d ",&x[i]); } for(j=0;j<c;++j) { i=0; while(i<r&&ch[i][j]=='*') i+=1; for(k=0;k<n;++k) { if(x[k]==i) { x[k]=-1; k=-1; break; } } if(k==-1) { i-=1; while(i>=0) { ch[i][j]='#'; i-=1; } } } for(i=0;i<r;++i) { for(j=0;j<c;++j) { printf("%c ",ch[i][j]); } printf("\n"); } for(i=0;i<n;++i) { if(x[i]!=-1) { printf("%d ",x[i]); flag=1; } } if(!flag) printf("-1"); }



C++ (CPP)

       

#include <bits/stdc++.h> using namespace std; int main(int argc, char** argv) { int r,c,i,j,n,k,flag=0; cin>>r>>c; char ch[r][c]; for(i=0;i<r;++i) { for(j=0;j<c;++j) { cin>>ch[i][j]; } } cin>>n; int x[n]; for(i=0;i<n;++i) { cin>>x[i]; } for(j=0;j<c;++j) { i=0; while(i<r&&ch[i][j]=='*') i++; for(k=0;k<n;++k) { if(x[k]==i) { x[k]=-1; k=-1; break; } } if(k==-1) { i--; while(i>=0) { ch[i][j]='#'; i--; } } } for(i=0;i<r;++i) { for(j=0;j<c;++j) { cout<<ch[i][j]<<" "; } cout<<"\n"; } for(i=0;i<n;++i) { if(x[i]!=-1) { flag=1; cout<<x[i]<<" "; } } if(!flag) cout<<"-1"; }



JAVA

       

import java.util.*; public class Hello { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int r=sc.nextInt(),c=sc.nextInt(),i,j,k,n,flag=0; char[][] ch=new char[r][c]; for(i=0;i<r;++i) { for(j=0;j<c;++j) { ch[i][j]=sc.next().charAt(0); } } n=sc.nextInt(); int[] x=new int[n]; for(i=0;i<n;++i) { x[i]=sc.nextInt(); } for(j=0;j<c;++j) { i=0; while(i<r&&ch[i][j]=='*') i++; for(k=0;k<n;++k) { if(x[k]==i) { x[k]=-1; k=-1; break; } } if(k==-1) { i--; while(i>=0) { ch[i][j]='#'; i--; } } } for(i=0;i<r;++i) { for(j=0;j<c;++j) { System.out.print(ch[i][j]+" "); } System.out.println(); } for(i=0;i<n;++i) { if(x[i]!=-1) { flag=1; System.out.print(x[i]+" "); } } if(flag==0) System.out.println("-1"); } }



PYTHON

       

r,c=map(int,input().split()) l=[input().strip().split() for i in range(r)] n=int(input()) x=list(map(int,input().split())) for j in range(c): i=0 while i<r and l[i][j]=='*': i+=1 if i in x: x.remove(i) i-=1 while i>=0: l[i][j]='#' i-=1 for i in l: print(*i) if x: print(*x) else: print(-1)



Never Stop Learning !!


Comments

Popular posts from this blog

DP (1) - Count number of ways to cover a distance

Zero Insert After K Times One

Left Number Twice Right