AC代码:
#include<stdio.h>
#include<stdlib.h>
int main()
{
int m,n,i,j,l,sum=0,k;
scanf("%d %d",&n,&m);
int psoc[m],num[n],n_num[m];
char arr[n][m];
getchar();
for(i=0;i<n;i++)
{
gets(arr[i]);
}
for(i=0;i<m;i++)
{
scanf("%d",&psoc[i]);
}
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
int count=0;
for(l=0;l<n;l++)
{
if(arr[l][i]==arr[j][i])
count++;
}
num[j]=count;
}
n_num[i]=num[0];
for(j=1;j<n;j++)
{
if(num[j]>n_num[i])
n_num[i]=num[j];
}
}
for(i=0;i<m;i++)
{
sum=sum+psoc[i]*n_num[i];
}
printf("%d",sum);
return 0;
}