Organizing Containers of Balls

  • + 0 comments

    c++ solution:

    string organizingContainers(vector<vector<int>> container) {
        int sizeRow = container.size();
        
        multiset<int> columnSums;
        multiset<int> rowSums;
    
        vector<int> partialColumnSums(sizeRow, 0);
        for (int i = 0; i < sizeRow; i++) {
            
            int currentRowSum = 0;
            for (int j = 0; j < sizeRow; j++) {
                currentRowSum += container.at(i).at(j);
                partialColumnSums[j] += container.at(i).at(j);
            }
            
            rowSums.insert(currentRowSum);
        }
        
        for (int partialColumnSum : partialColumnSums) {
            columnSums.insert(partialColumnSum);
        }
        
        if (columnSums == rowSums) {
            return "Possible";
        }
        
        return "Impossible";
    }