Pagini recente » Cod sursa (job #516429) | Cod sursa (job #684445) | Cod sursa (job #667814) | Cod sursa (job #141240) | Cod sursa (job #295226)
Cod sursa(job #295226)
#include<stdio.h>
int mat[102][12],n,m,stele,i,j,x,a[102][12],max,k;
FILE*f=fopen("stele10.in","r");
FILE*g=fopen("stele.out","w");
int main (){
fscanf(f,"%d %d",&n,&m);
for (i=1;i<=n;i++)
for (j=1;j<=m;j++){
fscanf(f,"%d",&x);
if (x==0) mat[i][j]=-1;
else mat[i][j]=1;
}
for (i=0;i<(1<<m);i++) {
for (j=0;j<m;j++)
if ((i>>j)&1 == 1) for (k=1;k<=n;k++) a[k][j+1]=mat[k][j+1]*-1;
else for (k=1;k<=n;k++) a[k][j+1]=mat[k][j+1]; //bitul j din scrierea binara a lui i
stele=0;
for (k=1;k<=n;k++)
for (j=1;j<=m;j++)
if (a[k][j]==1&&a[k][j-1]==1&&a[k][j+1]==1&&a[k-1][j]==1&&a[k+1][j]==1) stele++;
if (max<stele) max=stele;
}
fprintf(g,"%d",max);
fclose(f);
fclose(g);
return 0;
}