HDU - 1264 (暴力模拟)

水深无声 2023-08-17 16:26 242阅读 0赞

题目:https://cn.vjudge.net/problem/HDU-1264

思路:直接暴力模拟,数据不大

建一个100*100的mp数组

相当于涂格子 最后求格子的个数

求面积转化为求格子数目

注意一下:变量i的取值,从0初始化

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. #define ll long long
  4. #define maxn 100005
  5. int mp[105][105];
  6. int main()
  7. {
  8. int a,b,c,d;
  9. for(int i=0;i<=100;i++)
  10. for(int j=0;j<=100;j++)
  11. mp[i][j]=0;
  12. while(~scanf("%d%d%d%d",&a,&b,&c,&d))
  13. {
  14. if(a==-1&&b==-1&&c==-1&&d==-1)
  15. {
  16. // cout<<"ds"<<endl;
  17. int sum=0;
  18. for(int i=0;i<=100;i++)
  19. for(int j=0;j<=100;j++)
  20. if(mp[i][j]==1)
  21. sum++;
  22. printf("%d\n",sum);
  23. for(int i=0;i<=100;i++)
  24. for(int j=0;j<=100;j++)
  25. mp[i][j]=0;
  26. }
  27. else if(a==-2&&b==-2&&c==-2&&d==-2)
  28. {
  29. int sum=0;
  30. for(int i=0;i<=100;i++)
  31. for(int j=0;j<=100;j++)
  32. {
  33. if(mp[i][j]==1)
  34. sum++;
  35. }
  36. printf("%d\n",sum);
  37. for(int i=0;i<=100;i++)
  38. for(int j=0;j<=100;j++)
  39. mp[i][j]=0;
  40. break;
  41. }
  42. else
  43. {
  44. if(a>c) swap(a,c);
  45. if(b>d) swap(b,d);
  46. for(int i=a;i<c;i++)
  47. for(int j=b;j<d;j++)
  48. mp[i][j]=1;
  49. }
  50. }
  51. }

转载于:https://www.cnblogs.com/Aiahtwo/p/11366181.html

发表评论

表情:
评论列表 (有 0 条评论,242人围观)

还没有评论,来说两句吧...

相关阅读