알고리즘/기타

[HackerRank] Organizing Containers of Balls

히더 2018. 10. 1. 19:14

출처 : https://www.hackerrank.com/challenges/organizing-containers-of-balls/problem


#include <bits/stdc++.h>


using namespace std;


string organizingContainers(vector<vector<int>> container) {

int n = container.size(); vector<int> a(n,0), b(n,0);

for (int i = 0; i < n; i++) {

for (int j = 0; j < n; j++) {

b[i] += container[i][j]; a[j] += container[i][j];

}

}

sort(a.begin(), a.end()); sort(b.begin(), b.end());

for (int i = 0; i < n; i++) if (a[i] != b[i]) return "Impossible";

return "Possible";

}


int main()

{

ofstream fout(getenv("OUTPUT_PATH"));


int q;

cin >> q;

cin.ignore(numeric_limits<streamsize>::max(), '\n');


for (int q_itr = 0; q_itr < q; q_itr++) {

int n;

cin >> n;

cin.ignore(numeric_limits<streamsize>::max(), '\n');


vector<vector<int>> container(n);

for (int i = 0; i < n; i++) {

container[i].resize(n);


for (int j = 0; j < n; j++) {

cin >> container[i][j];

}


cin.ignore(numeric_limits<streamsize>::max(), '\n');

}


string result = organizingContainers(container);


fout << result << "\n";

}


fout.close();


return 0;

}