Pagini recente » Cod sursa (job #751084) | Cod sursa (job #631920) | Cod sursa (job #2202513) | Cod sursa (job #2863073) | Cod sursa (job #902929)
Cod sursa(job #902929)
//
// main.cpp
// Flip
//
// Created by Nagy Dani on 2013.03.01..
// Copyright (c) 2013 Nagy Dani. All rights reserved.
//
#include <algorithm>
#include <stdio.h>
#include <vector>
#include <iostream>
int n,m;
int tab[16][16];
int result;
void
_read(){
FILE*in=fopen("flip.in", "r");
fscanf(in, "%d%d",&n,&m);
for (int i=0; i<n; i++) {
for (int j=0; j<m; j++) {
fscanf(in,"%d",&tab[i][j]);
}
}
}
void
_write(){
FILE*out =fopen("flip.out", "w");
fprintf(out, "%d",result);
}
int
max_mat(int a[][16],int x,int y){
int max=a[0][0];
for (int i=0;i<x;i++){
for (int j=0;j<y ; j++) {
if (a[i][j]>max) {
max=a[i][j];
}
}
}
return max;
}
int
negsum(int mat[16][16],int x, int y){
int s=0;
for (int i=0;i<n; i++) {
for (int j=0; j<m; j++) {
if (i==x) {
s+= -1*mat[i][j];
}else s+=mat[i][j];
if (j==y) {
s+= -1*mat[i][j];
}else s+=mat[i][j];
}
}
return s;
}
void
solve(){
std::vector<int> resv;
for (int i=0; i<n; i++) {
for(int j=0;j<m;j++){
resv.push_back(negsum(tab, i, j));
}
}
for (int i=0;i<n; i++) {
resv.push_back(negsum(tab, i, -2));
}
for (int j=0;j<m; j++) {
resv.push_back(negsum(tab, -2, j));
}
result = *max_element(resv.begin(), resv.end());
}
int main(int argc, const char * argv[])
{
_read();
solve();
_write();
return 0;
}