In this HackerEarth Rubik's Square problem solution Raj has bought a new Rubik's Cube and he try to solve it day and night. Seeing this , Vikas tried to help Raj by giving him problem based on cube Rotation . To make it easier for Raj , As Raj is a beginner Vikas gave problem in square matrix instead of cube. The problem is as follows :
Vikas has N*N array of different numbers. Now he rotates the rows and columns . Raj has to stay focused and tell Vikas what should be output of matrix after R Rows Rotation and C columns rotation.
Raj is now more confused then ever from the above problem. Help him to find the answer.
HackerEarth Rubik's Square problem solution.
using namespace std;
int main(){ // freopen("sampleinput.txt","r",stdin); // freopen("sampleoutput.txt","w",stdout); int n,rr,cc; cin>>n>>rr>>cc; int a[n][n]; for(int i=0;i>a[i][j]; } } int r[n],c[n]; memset(r,0,sizeof(r)); memset(c,0,sizeof(c));
for(int i=0;i<rr;i++){
int t;
cin>>t;
r[t-1]++;
r[t-1]=r[t-1]%n;
}
for(int i=0;i<cc;i++){
int t;
cin>>t;
c[t-1]++;
c[t-1]=c[t-1]%n;
}
int b[n][n];
//memset(b,0,sizeof(b)*n*n);
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
b[i][j]= a[i][(n-r[i]+j)%n] ;
}
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
a[i][j]= b[(n-c[j]+i)%n][j] ;
}
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
cout<<a[i][j]<<" ";
}
cout<<endl;
}
}
0 Comments