今天手感真差。。各种读错题意。水题。。。
就是说,给你几个串。如果长度一样并且相同位置字符相同(不分大小写)的个数大于两个就是不同串。
1 #include<iostream> 2 #include<cstdio> 3 #include<cstdlib> 4 #include<stack> 5 #include<queue> 6 #include<vector> 7 #include<map> 8 #include<string.h> 9 #include<algorithm> 10 using namespace std; 11 12 char str[110][110]; 13 int n; 14 int main() 15 { 16 while(~scanf("%d",&n)) 17 { 18 int val[110]; 19 memset(val,0,sizeof(val)); 20 int sum=0; 21 for(int i=0; i<n; i++) 22 scanf("%s",str[i]); 23 for(int i=0; i<n; i++) 24 { 25 for(int j=i+1; j<n; j++) 26 { 27 int len1=strlen(str[i]); 28 int len2=strlen(str[j]); 29 if(len1!=len2) 30 continue; 31 int ans=0; 32 for(int k=0; k<len1; k++) 33 { 34 if(str[i][k]==str[j][k]||str[i][k]-'a'==str[j][k]-'A'||str[i][k]-'A'==str[j][k]-'a') 35 ans++; 36 } 37 if(ans>2) 38 { 39 // if(!val[i]) 40 // sum+=2; 41 // else 42 // sum++; 43 val[i]=1; 44 val[j]=1; 45 } 46 } 47 } 48 for(int i=0;i<n;i++) 49 { 50 if(val[i]) 51 sum++; 52 } 53 printf("%d ",sum); 54 } 55 return 0; 56 }