Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <fstream>
- using namespace std;
- int n,m;
- unsigned long long a[501][501],val,MAX,P;
- unsigned long long umple(int i,int j)
- {
- /// Daca patratelul nu a mai fost parcurs
- if(a[i][j]!=0&&a[i][j]==val)
- {
- P+=a[i][j];
- a[i][j]=0; /// Il marcheaza
- if(i>1) umple(i-1,j); /// Incearca sa mearga mai sus
- if(j>1) umple(i,j-1); /// La stanga
- if(i<n) umple(i+1,j); /// Mai jos
- if(j<m) umple(i,j+1); /// La dreapta
- }
- return P;
- }
- int main()
- {
- ifstream f("sao1.in");
- f>>n>>m;
- for(int i=1;i<=n;++i)
- for(int j=1;j<=m;++j)
- f>>a[i][j];
- f.close();
- for(int i=1;i<=n;++i)
- for(int j=1;j<=m;++j)
- if(a[i][j]!=0)
- {
- val=a[i][j];
- P=0;
- umple(i,j);
- if(P>MAX)
- MAX=P;
- }
- ofstream g("sao1.out");
- g<<MAX;
- g.close();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement