Submission
Status:
PPPPPPPPPP
Subtask/Task Score:
100/100
Score: 100
User: dddrrrr
Problemset: ความหลากหลาย
Language: cpp
Time: 0.003 second
Submitted On: 2025-10-16 21:22:08
#include <bits/stdc++.h>
using namespace std;
bool isvalid(vector <int>& table){
int chk=0;
for(int i=0 ;i<10 ;i++){
if(table[i] > 0)chk++;
}
if(chk >= 5)return true;
else return false;
}
int main(){
cin.tie(0)->sync_with_stdio(0);
cout.tie(0)->sync_with_stdio(0);
int n ,m;
cin >> n >> m;
vector <vector <int>> vec(n ,vector <int>(m ,4));
for(int i=0 ;i<n ;i++){
for(int j=0 ;j<m ;j++){
cin >> vec[i][j];
}
}
int ans=0;
for(int i=0 ;i+5<=n ;i++){
vector <int> table(10 ,0);
for(int j=i ;j<i+5 ;j++){
for(int k=0 ;k<5 ;k++){
table[vec[j][k]]++;
}
}
for(int j=0 ;j+5<=m ;j++){
if(isvalid(table))ans++;
if(j+5 < m){
for(int k=i ;k<i+5 ;k++){
table[vec[k][j]]--;
table[vec[k][j+5]]++;
}
}
}
}
cout << ans;
return 0;
}