제출 #469136

#제출 시각아이디문제언어결과실행 시간메모리
469136ala2Bob (COCI14_bob)C++14
0 / 120
499 ms24008 KiB
#include <bits/stdc++.h>
#define ff first
#define ss second
#define int long long
using namespace std;
int a[1010][1010];
int dpr[1010][1010];
int dpc[1010][1010];
pair<int,int> dp3[1010][1010];
signed main()
{
    int n;
    cin>>n;
    int m;
    cin>>m;
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
            cin>>a[i][j];
    }
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
        {
            dpc[i][j]=1;
            dpr[i][j]=1;
        }
    }
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
        {
            if(i>0)
            {
                if(a[i][j]==a[i-1][j])
                {
                    dpr[i][j]=dpr[i-1][j]+1;
                }
            }
            if(j>0)
            {
                if(a[i][j]==a[i][j-1])
                {
                    dpc[i][j]=dpc[i][j-1]+1;
                }
            }
        }
    }//   ff for c    ss for r
     int ans=0;
     for(int i=0;i<n;i++)
     {
         for(int j=0;j<m;j++)
         { //cout<<dpr[i][j]<<" ";
             for(int k=j;k>=0;k--)
             {
                 if(a[i][k]!=a[i][k+1]&&k!=j)
                    break;
                 ans+=dpr[i][k];
             }
           //  cout<<" :"<<ans<<"   ";
         }
       //  cout<<endl;
     }
     cout<<ans;

}

#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...