Submission #1151455

#TimeUsernameProblemLanguageResultExecution timeMemory
1151455khangrlBob (COCI14_bob)C++20
0 / 120
242 ms16176 KiB
#include<bits/stdc++.h> #define ff first #define ss second #define int long long using namespace std; int n, m, a[1005][1005], dp[1005][1005]={0}; signed main(){ cin>>n>>m; for(int i=1; i<=n; i++){ for(int j=1; j<=m; j++){ cin>>a[i][j]; dp[i][j]=1; if(i==1){ a[0][j]=0; dp[0][j]=0; } if(j==1){ a[i][0]=0; dp[i][0]=0; } } } a[0][0]=0; dp[0][0]=0; int ans=0; for(int i=1; i<=n; i++){ for(int j=1; j<=m; j++){ if(a[i][j]==a[i-1][j]){ dp[i][j]+=dp[i-1][j]; if(a[i][j]==a[i-1][j-1]){ dp[i][j]-=dp[i-1][j-1]; } } if(a[i][j]==a[i][j-1]){ dp[i][j]+=dp[i][j-1]; if(a[i][j]==a[i-1][j-1]){ dp[i][j]-=dp[i-1][j-1]; } } if(a[i][j]==a[i-1][j-1] and a[i][j]==a[i-1][j] and a[i][j]==a[i][j-1]){ dp[i][j]+=dp[i-1][j-1]; } ans+=dp[i][j]; } } 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...