Mai intai trebuie sa te autentifici.
Cod sursa(job #902890)
| Utilizator | Data | 1 martie 2013 17:14:27 | |
|---|---|---|---|
| Problema | Jocul Flip | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 1.33 kb |
//
// main.cpp
// Flip
//
// Created by Nagy Dani on 2013.03.01..
// Copyright (c) 2013 Nagy Dani. All rights reserved.
//
#include <stdio.h>
#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];
} s+=mat[i][j];
if (j==y) {
s+= -1*mat[i][j];
}else s+=mat[i][j];
}
}
s+=mat[x][y];
return s;
}
void
solve(){
int res[16][16];
for (int i=0; i<n; i++) {
for(int j=0;j<m;j++){
res[i][j]=negsum(tab, i, j);
}
}
result = max_mat(res, n, m);
}
int main(int argc, const char * argv[])
{
_read();
solve();
_write();
return 0;
}
