2021年暑期训练阶段二Day2

目录

A - Lake Counting

B - Binary Search

C - Fire!

D - Find a way

E - Power Calculus

F - Find The Multiple

G - 棋盘问题


A - Lake Counting

 题意:

由于最近的降雨,水在农民约翰的田地里的各个地方汇集起来,用一个N x M(1<=N<=100;1<=M<=100)平方米。每个广场包含水(“W”)或旱地(“W”)。农夫约翰想知道他的田地里形成了多少池塘。池塘是一组相互连接的正方形,其中有水,其中一个正方形被视为与其所有八个邻居相邻。

给农民约翰的田地一张图表,确定他有多少池塘。

思路:

8个方向有相邻的池塘就算作一个,标准的dfs问题,套模板

代码:

#include
#include
using namespace std;
char ch[105][105];
int vis[105][105];
int ans,m,n;
int dx[]= {0,0,1,-1,1,1,-1,-1};
int dy[]= {-1,1,0,0,-1,1,-1,1};

void dfs(int x,int y)
{
    for(int i=0; i<8; i++) //8个方向
    {
        int tx=x+dx[i];
        int ty=y+dy[i];
        if(ch[tx][ty]=='W'&&tx>=0&&tx=0&&ty>m>>n)
    {
        ans=0;
        memset(vis,0,sizeof(vis));
        for(int i=0; i>ch[i][j];
            }
        }
        for(int i=0; i

B - Binary Search

题意:

给定一个n个整数的序列S和一个不同q个整数的序列T。写一个程序,输出C,T中的整数数也在集合S中的数量。

思路:

二分查找,暴力会T

代码:

 
 

你可能感兴趣的:(数据结构)