2 3 5 00001 10000 00001 3 4 0001 0100 0001
1 2
AC码:
#include<stdio.h> #include<string.h> int num[205][205],sum[205]; int main() { int T,n,m,a,b,i,j,min,flag; char str[205]; scanf("%d",&T); while(T--) { scanf("%d%d",&n,&m); for(i=0;i<n;i++) { scanf("%s",str); flag=0; for(j=0;str[j]!=‘\0‘;j++) { num[i][j]=str[j]-‘0‘; if(num[i][j]==1) flag=1; } } if(flag==0) { printf("-1\n"); continue; } memset(sum,0,sizeof(sum)); for(i=0;i<n;i++) { for(j=0;j<m;j++) { if(num[i][j]==0) { a=j; b=j; while((num[i][a]==0)&&(num[i][b]==0)) { a=(a+m-1)%m; b=(b+m+1)%m; sum[j]++; } } } } min=999999999; for(i=0;i<m;i++) { if(min>sum[i]) min=sum[i]; } printf("%d\n",min); } return 0; }
原文地址:http://blog.csdn.net/u012804490/article/details/24703529