daily pastebin goal
75%
SHARE
TWEET

Untitled

a guest Jun 13th, 2018 46 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top