Pagini recente » Istoria paginii runda/aint | Cod sursa (job #402382) | Cod sursa (job #872760) | Atasamentele paginii Clasament simulareoji_2007_11-12 | Cod sursa (job #118230)
Cod sursa(job #118230)
#include <stdio.h>
#include <stdlib.h>
long long int sum;
int height , width;
long int matrice[16][16];
int i , j;
unsigned short int loop;
long long int auxsum;
void check(unsigned short int loop , long long int sumc[16]){
for(i=0 ; i<height ; i++){
if( ( (loop >> i) % 2) == 0 ){
for(j=0 ; j<width ; j++){
sumc[j]=sumc[j] + matrice[i][j];
}
}
else{
for(j=0 ; j<width ; j++){
sumc[j]=sumc[j] - matrice[i][j];
}
}
}
auxsum=0;
for(i=0 ; i<width ; i++){
if(sumc[i] < 0){
auxsum=auxsum - sumc[i];
}
else{
auxsum=auxsum + sumc[i];
}
sumc[i]=0;
}
if(auxsum > sum){
sum=auxsum;
//printf("%lld\n" , sum);
}
}
int main(int argc , char *argv[]){
FILE *f;
FILE *g;
f=fopen("flip1.in" , "r");
g=fopen("flip.out" , "w");
long long int sumc[16];
for(i=0 ; i<16 ; i++){
sumc[i]=0;
}
fscanf(f , "%d %d" , &height , &width);
for(i=0 ; i<height ; i++){
for(j=0 ; j<width ; j++){
fscanf(f , "%ld" , &matrice[i][j]);
}
}
for(loop=0 ; loop < 65535 ; loop++){
check(loop , sumc);
}
check(loop , sumc);
fprintf(g , "%lld" , sum);
fclose(f);
fclose(g);
return 0;
}