• Source
    1. #include<stdio.h>
    2. #include<string.h>
    3. #include<iostream>
    4. #include<vector>
    5. #include<algorithm>
    6.  
    7. using namespace std;
    8.  
    9. char str[23][23];
    10.  
    11. int arr[100];
    12.  
    13. vector<int>vec;
    14.  
    15. int main()
    16. {
    17. int test,i,j,m,n,sum,tc,r,c,a,b;
    18.  
    19. scanf("%d",&test);
    20.  
    21. for(tc=1;tc<=test;tc++)
    22. {
    23. scanf("%d%d%d%d",&r,&c,&m,&n);
    24.  
    25. getchar();
    26.  
    27. for(i=0;i<r;i++)
    28. {
    29. for(j=0;j<c;j++)
    30. {
    31. scanf("%c",&str[i][j]);
    32. a=str[i][j];
    33. arr[a]++;
    34. }
    35. getchar();
    36. }
    37.  
    38. for(i=65;i<=90;i++)
    39. {
    40. if(arr[i]>0)
    41. {
    42. vec.push_back(arr[i]);
    43. }
    44. }
    45.  
    46. sort(vec.rbegin(),vec.rend());
    47.  
    48. sum=0;
    49.  
    50.  
    51. for(i=1;i<vec.size();i++)
    52. {
    53. if(vec[i]==vec[i-1])
    54. {
    55. sum+=vec[i-1];
    56. }
    57. else
    58. {
    59. sum+=vec[i-1];
    60. break;
    61. }
    62. }
    63.  
    64. if(i==vec.size())
    65. {
    66. sum+=vec[i-1];
    67. }
    68.  
    69. a=sum*m;
    70.  
    71. b=((r*c)-sum)*n;
    72.  
    73. printf("Case %d: %d\n",tc,a+b);
    74.  
    75. memset(arr,0,sizeof(arr));
    76.  
    77. vec.clear();
    78.  
    79. }
    80.  
    81. return 0;
    82. }