1 条题解
-
0
自动搬运
来自洛谷,原作者为

柠檬布丁吖
to be continue搬运于
2025-08-24 22:26:17,当前版本为作者最后更新于2022-07-27 23:04:03,作者可能在搬运后再次修改,您可在原文处查看最新版自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多
以下是正文
Updata 再次阅读完题解攻略后对题解进行格式和代码注释的修改
一个名为幸运的机会的游戏,根据图片的提示,我们选择模拟。
模拟大法好
这篇题解主要讲一下这道题的细节。
-
扫描某个方向是全是严格小于选择方块的数,等于的不算
-
不是方块所在的横或者列。
-
可以选择方格某一方向(当然不包括此方格)逐个枚举,若有一个方块 当前选择方块则此方向 pass
-
关于边界的处理,其实此题可以不做过多处理。
ACCode:
#include<bits/stdc++.h> using namespace std; int n,m; int Map[1100][1100]; //建议大家不要同“Map”这样设置变量名,容易让人产生歧义而想起STL中的map;希望大家可以避免错误。 int ans=0;//ans存储答案 int main() { cin>>n>>m; for(int i=1; i<=n; i++) { for(int j=1; j<=m; j++) { cin>>Map[i][j]; } } for(int i=1; i<=n; i++) { for(int j=1; j<=m; j++) { bool k=false; for(int l=i-1; l>=1; l--) { if(Map[l][j]>=Map[i][j]) { k=true; break; } } if(k==false) { ans++;//某一方向达成条件 } else { k=false; } for(int l=j-1; l>=1; l--) { if(Map[i][l]>=Map[i][j]) { k=true; break; } } if(k==false) { ans++; } else { k=false; } for(int l=i+1; l<=n; l++) { if(Map[l][j]>=Map[i][j]) { k=true; break; } } if(k==false) { ans++; } else { k=false; } for(int l=j+1; l<=m; l++) { if(Map[i][l]>=Map[i][j]) { k=true; break; } } if(k==false) { ans++; } else { k=false; } } } printf("%d\n",ans); return 0; }qwq蒟蒻第一次独立发题解祭祀
-
- 1
信息
- ID
- 6213
- 时间
- 2000ms
- 内存
- 256MiB
- 难度
- 2
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者