[HackerRank] Organizing Containers of Balls
출처 : 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;
}