Language: C++

#include <bits/stdc++.h>
using namespace std;
//#define int long long
pair<int,int> kk(int t[][500],int s[][500],int i,int j,int h,int w){
    pair<int ,int> d =make_pair(0,0);
    pair<int , int>addd;
    
        t[i][j]=0;
 
        if(i>0&&s[i][j]!=s[i-1][j]&&t[i-1][j]==-1){
            addd=kk(t,s,i-1,j,h,w);
            d.first += addd.first;
            d.second +=addd.second;    
        }
        if(j>0&&s[i][j]!=s[i][j-1]&&t[i][j-1]==-1){
            addd =kk(t,s,i,j-1,h,w);
        d.first += addd.first;
            d.second +=addd.second;    
        }    
        if(i<h&&s[i][j]!=s[i+1][j]&&t[i+1][j]==-1){
         
           addd=kk(t,s,i+1,j,h,w);
        d.first += addd.first;
            d.second +=addd.second;    
        
        }
        if(j<w&&s[i][j]!=s[i][j+1]&&t[i][j+1]==-1){
 
        addd=kk(t,s,i,j+1,h,w);
        d.first += addd.first;
            d.second +=addd.second;    
        
        }
       
    
    if(s[i][j]==1)d.first++;
    else d.second++;
    return d;
}
 
signed main(){
    int h,w;
    cin >>h >> w ;
    int s[h][500];
    int t[h][500];
    string l;
    for(int i=0;i<h;i++){
        cin >> l;
        for(int j=0;j<w;j++){
            if(l[j]=='#')s[i][j]=1;
            else s[i][j]=0;
            t[i][j]=-1;
        }
        
    }
    pair<int,int>d;
    long long ans=0;
    for(int i=0;i<h;i++){
        
        for(int j=0;j<w;j++){
           if(t[i][j]==-1){
               d= kk(t,s,i,j,h,w);
            ans+= long(d.first)*long(d.second);
           }
        }
    }
 
    cout << ans;
 
 
 
    return 0;
}
#include <bits/stdc++.h>
using namespace std;
//#define int long long
pair<int,int> kk(int t[][500],int s[][500],int i,int j,int h,int w){
    pair<int ,int> d =make_pair(0,0);
    pair<int , int>addd;
    
        t[i][j]=0;

        if(i>0&&s[i][j]!=s[i-1][j]&&t[i-1][j]==-1){
            addd=kk(t,s,i-1,j,h,w);
            d.first += addd.first;
            d.second +=addd.second;    
        }
        if(j>0&&s[i][j]!=s[i][j-1]&&t[i][j-1]==-1){
            addd =kk(t,s,i,j-1,h,w);
        d.first += addd.first;
            d.second +=addd.second;    
        }    
        if(i<h&&s[i][j]!=s[i+1][j]&&t[i+1][j]==-1){
         
           addd=kk(t,s,i+1,j,h,w);
        d.first += addd.first;
            d.second +=addd.second;    
        
        }
        if(j<w&&s[i][j]!=s[i][j+1]&&t[i][j+1]==-1){

        addd=kk(t,s,i,j+1,h,w);
        d.first += addd.first;
            d.second +=addd.second;    
        
        }
       
    
    if(s[i][j]==1)d.first++;
    else d.second++;
    return d;
}

signed main(){
    int h,w;
    cin >>h >> w ;
    int s[h][500];
    int t[h][500];
    string l;
    for(int i=0;i<h;i++){
        cin >> l;
        for(int j=0;j<w;j++){
            if(l[j]=='#')s[i][j]=1;
            else s[i][j]=0;
            t[i][j]=-1;
        }
        
    }
    pair<int,int>d;
    int ans=0;
    for(int i=0;i<h;i++){
        
        for(int j=0;j<w;j++){
           if(t[i][j]==-1){
               d= kk(t,s,i,j,h,w);
            ans+= d.first*d.second;
           }
        }
    }

    cout << ans;



    return 0;
}
	

Compiler output:
a.cc:77:15: error: redefinition of 'std::pair<int, int> kk(int (*)[500], int (*)[500], int, int, int, int)'
   77 | pair<int,int> kk(int t[][500],int s[][500],int i,int j,int h,int w){
      |               ^~
a.cc:4:15: note: 'std::pair<int, int> kk(int (*)[500], int (*)[500], int, int, int, int)' previously defined here
    4 | pair<int,int> kk(int t[][500],int s[][500],int i,int j,int h,int w){
      |               ^~
a.cc:114:8: error: redefinition of 'int main()'
  114 | signed main(){
      |        ^~~~
a.cc:41:8: note: 'int main()' previously defined here
   41 | signed main(){
      |        ^~~~