记录编号 528078 评测结果 AAAAAAAAAA
题目名称 [USACO Nov07] 最大的湖 最终得分 100
用户昵称 Gravatar瑆の時間~無盡輪迴·林蔭 是否通过 通过
代码语言 C++ 运行时间 0.009 s
提交时间 2019-02-26 21:58:51 内存使用 3.20 MiB
显示代码纯文本
  1. #include<iostream>
  2. #include<cstdio>
  3. using namespace std;
  4. int map[101][101];
  5. bool sd[101][101];
  6. int s1[4]={-1,1,0,0};
  7. int s2[4]={0,0,-1,1};
  8. int m,n,ans=0,k,r,c,manx=0,ss=0;
  9. void dfs(int he,int sh)
  10. {
  11. ss++;
  12. map[he][sh]=ans;
  13. for(int i=0;i<=3;i++)
  14. {
  15. if(map[he-s1[i]][sh-s2[i]]==0&&sd[he-s1[i]][sh-s2[i]]==1&&1<=he-s1[i]<=n&&1<=sh-s2[i]<=m)
  16. {
  17. dfs(he-s1[i],sh-s2[i]);
  18. }
  19. }
  20. }
  21. int main()
  22. {
  23. freopen("lake.in","r",stdin);
  24. freopen("lake.out","w",stdout);
  25. scanf("%d%d%d",&n,&m,&k);
  26. for(int i=1;i<=k;i++)
  27. {
  28. scanf("%d%d",&r,&c);
  29. sd[r][c]=1;
  30. }
  31. for(int i=1;i<=n;i++)
  32. {
  33. for(int j=1;j<=m;j++)
  34. {
  35. if(sd[i][j]==1&&map[i][j]==0)
  36. {
  37. ans++;
  38. ss=0;
  39. dfs(i,j);
  40. manx=max(manx,ss);
  41. }
  42. }
  43. }
  44. cout<<manx<<endl;
  45. return 0;
  46. }