classSolution{public:voidsetRZeros(vector<vector<int>>&matrix,intx){intm=matrix.size();intn=matrix[0].size();for(inti=0;i<n;i++){matrix[x][i]=0;}}voidsetCZeros(vector<vector<int>>&matrix,inty){intm=matrix.size();intn=matrix[0].size();for(inti=0;i<m;i++){matrix[i][y]=0;}}voidsetZeroes(vector<vector<int>>&matrix){// IMPORTANT: Please reset any member data you declared, as
// the same Solution instance will be reused for each test case.
intm=matrix.size();intn=matrix[0].size();int*R=newint[m];int*C=newint[n];memset(R,0,m*sizeof(int));memset(C,0,n*sizeof(int));for(inti=0;i<m;i++){for(intj=0;j<n;j++){if(matrix[i][j]==0){R[i]=1;C[j]=1;}}}for(inti=0;i<m;i++){if(R[i])setRZeros(matrix,i);}for(inti=0;i<n;i++){if(C[i])setCZeros(matrix,i);}}};