#include<iostream> #include<cstdio> #include<string> #include<cctype> #include<algorithm> using namespace std; int main() { int m,n,ans; int dls[100][3]; string s; while(cin>>n>>m){ ans=100; for(int j=0;j<n;j++){ cin>>s; dls[j][0]=dls[j][1]=dls[j][2]=100;//设为100而不是很大的值方便下面比较,如果设为很大的值,注意溢出之后是负数 for(int i=0;i<m;i++){ if(isdigit(s[i])) dls[j][0]=min(dls[j][0],min(i,m-i)); else if(islower(s[i])) dls[j][1]=min(dls[j][1],min(i,m-i)); else dls[j][2]=min(dls[j][2],min(i,m-i)); } } for(int i=0;i<n;i++){ for(int j=0;j<n;j++){ if(i!=j) for(int k=0;k<n;k++){ if(i!=k&&j!=k){ ans=min(ans,dls[i][0]+dls[j][1]+dls[k][2]);//dls[i][0]+dls[j][1]+dls[k][2]设为很大时,注意溢出是负数 } } } } cout<<ans<<endl; } return 0; }
17-1-31-C
做题笔记,只是想积累看看四年之后写了AC了多少题。