Guest User

Untitled

a guest
Jun 13th, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.75 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. #define MAX(A,B) A>B?A:B
  4. char M[10000][10000];
  5. int visi[27];
  6. char abcd[]={'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
  7. int t(int i,int j,int n,int m,char target){
  8. if(i>=n || j>=m || i<0 || j<0){
  9. return 0;
  10.  
  11. }
  12. if(M[i][j]=='.' || M[i][j]!=target){
  13. return 0;
  14.  
  15. }
  16. M[i][j]='.';
  17.  
  18. return 1+t(i+1,j,n,m,target)+t(i-1,j,n,m,target)+t(i,j+1,n,m,target)+t(i,j-1,n,m,target);
  19. //return 1+t(i-1,j,n,m,target);
  20. //return 1+t(i,j+1,n,m,target);
  21. //return 1+t(i,j-1,n,m,target);
  22.  
  23.  
  24.  
  25.  
  26.  
  27. }
  28.  
  29. bool compare(pair<char,int> a,pair<char,int> b){
  30. return a.second>b.second || a.first<b.first;
  31.  
  32.  
  33.  
  34. }
  35.  
  36. int main(){
  37. int n,m;
  38. int cnt=1;
  39. vector<pair<char,int>> respuestas;
  40. while(true){
  41. cin>>n>>m;
  42. if(n==0 && m==0)break;
  43. for(int i=0;i<n;i++){
  44. for(int j=0;j<m;j++){
  45. cin>>M[i][j];
  46.  
  47. }
  48.  
  49. }
  50. int respu=0;
  51.  
  52. memset(visi,0,sizeof(visi));
  53.  
  54. for(int k=0;k<26;k++){
  55. for(int i=0;i<n;i++){
  56. for(int j=0;j<m;j++){
  57. if(M[i][j]==abcd[k]){
  58. respu = t(i,j,n,m,abcd[k]);
  59. if(respu!=0)respuestas.push_back(make_pair(abcd[k],respu));
  60.  
  61. }
  62.  
  63.  
  64. }
  65.  
  66. }
  67. }
  68.  
  69.  
  70. sort(respuestas.begin(),respuestas.end(),compare);
  71. cout<<"Problem "<<cnt<<":"<<endl;
  72. for(int i=0;i<respuestas.size();i++){
  73. if(respuestas[i].second>0){
  74. cout<<respuestas[i].first<<" "<<respuestas[i].second<<endl;
  75. }
  76.  
  77.  
  78. }
  79. cnt++;
  80. respuestas.clear();
  81.  
  82.  
  83. }
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90. }
Add Comment
Please, Sign In to add comment