Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <cstring>
- #include <vector>
- #include <iostream>
- #include <cmath>
- using namespace std;
- int minDiff(int pix[][6][10], int m, int k, vector<int> vec) {
- int sum[6][10];
- memset(sum, 0, sizeof(int) * 6 * 10);
- int bestK = 0, bestM = 0;
- int diff = 100000;
- for (int h = 0; h < k; h++) {
- for (int i = 0; i < m; i++) {
- for (int j = 0; j < vec.size(); j++) {
- sum[h][i] = sum[h][i] + pix[vec[j]][h][i];
- }
- if (vec.size() % 2 == 1) {
- int mid = vec.size() / 2;
- if (abs(mid - sum[h][i - 1]) < diff) {
- diff = abs(mid - sum[h][i - 1]);
- bestK = h;
- bestM = i - 1;
- }
- } else {
- int mid = vec.size() / 2;
- if (abs(mid - sum[h][i - 1]) < diff) {
- diff = abs(mid - sum[h][i - 1]);
- bestK = h;
- bestM = i - 1;
- }
- mid = vec.size() / 2 - 1;
- if (abs(mid - sum[h][i - 1]) < diff) {
- diff = abs(mid - sum[h][i - 1]);
- bestK = h;
- bestM = i - 1;
- }
- }
- }
- }
- return 0;
- }
- int main() {
- int n, m, k;
- cin >> n >> m >> k;
- int pix[n][6][10]; //m = column count, k = row count
- for (int i = 0; i < n; i++) {
- for (int j = 0; j < k; j++) {
- for (int l = 0; l < m; l++) {
- cin >> pix[i][j][l];
- }
- }
- }
- for (int i = 0; i < n; i++) {
- for (int j = 0; j < k; j++) {
- for (int l = 0; l < m; l++) {
- cout << pix[i][j][l] << ' ';
- }
- cout << endl;
- }
- cout << endl;
- }
- vector<int> vec;
- for (int i = 0; i < n; i++) {
- vec.push_back(i);
- }
- cout << minDiff(pix, m, k, vec);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement