wordpress网站响应慢,大连网页设计制作,asp个人网站下载,wordpress功能最强大的主题全球变暖 问题描述格式输入格式输出样例输入样例输出评测用例规模与约定解析参考程序 问题描述 格式输入 格式输出
输出一个整数 样例输入 样例输出
1 评测用例规模与约定
最大运行时间#xff1a;1s最大运行内存: 256M 解析
采用dfs的方式进行搜索#xff0c;首先输入地… 全球变暖 问题描述格式输入格式输出样例输入样例输出评测用例规模与约定解析参考程序 问题描述 格式输入 格式输出
输出一个整数 样例输入 样例输出
1 评测用例规模与约定
最大运行时间1s最大运行内存: 256M 解析
采用dfs的方式进行搜索首先输入地图之后进行搜索判断所有岛屿的数量所有不会被淹没的岛屿的数量因为只要有一块不和水相接就可以判断为是不会被淹没的所以才取它然后相减即可得到被淹没的岛屿的数量。 参考程序
#includebits/stdc.h
using namespace std;
int n;
const int N 1e44;
char area[N][N];
bool flag;
int cnt;
int d[4][2]{{1,0},{-1,0},{0,1},{0,-1}};//往四个方向走
int ans0;//没有被淹没岛屿的数量
int res0;//岛屿的总数量
//用DFS判断搜到的这个岛屿会不会被淹没
void dfs(int x,int y)
{if(flagfalse){ //一个岛屿只要有一个点满足就不会变淹没了cnt 0;for(int i0; i4; i){int txd[i][0]x;int tyd[i][1]y;if(area[tx][ty]!.)cnt;}if(cnt4){//有一个点满足不会被淹没的条件ans;flagtrue;//这个岛屿不需要再遍历了}}area[x][y]*;//将遍历过的点变为 *下一次就不会遍历了所以不用标记数组//注意这里不可以是‘.’因为上面if(area[tx][ty]!.)cntfor(int i0;i4;i){int xx x d[i][0];int yy y d[i][1];if(area[xx][yy]#xNx0yNy0)dfs(xx,yy);}
}int main()
{ cinn; for(int i0; in; i)for(int j0; jn; j)cinarea[i][j];for(int i0; in; i){ for(int j0; jn; j){if(area[i][j]#){res;flagfalse;dfs(i,j);}}} coutres-ans; return 0;
}以个人刷题整理为目的如若侵权请联系删除~