比赛 2024暑期C班集训2 评测结果 ATTEEEEEEE
题目名称 雨滴之歌 最终得分 10
用户昵称 小金 运行时间 6.884 s
代码语言 C++ 内存使用 11.41 MiB
提交时间 2024-07-02 11:27:34
显示代码纯文本
#include<iostream>
#include<cstdio>
using namespace std;
long long a[200010],b[200010],ans;
int n,m,v[1010][1010],dis[2][2]={{0,1},{1,0}},flag;
void dfs(int s,int t,int x,int y)
{
    if(x==t&&y==m)
    {
        flag=1;
        return;
    }
    for(int i=0;i<=1;i++)
    {
        int dx=x+dis[i][0];
        int dy=y+dis[i][1];
        if(v[dx][dy]==1)
        {
            dfs(s,t,dx,dy);
        }
    }
}
int main()
{
    freopen("expansion.in","r",stdin);
    freopen("expansion.out","w",stdout);
    scanf("%d%d",&n,&m);
    for(int i=1;i<=n;i++)
    {
        scanf("%lld",&a[i]);
    }
    for(int i=1;i<=m;i++)
    {
        scanf("%lld",&b[i]);
    }
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=m;j++)
        {
            long long p=a[i]+b[j];
            if(p>=0)
            {
                v[i][j]=1;
            }
        }
    }
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=n;j++)
        {
            if(v[i][1]==0||v[j][m]==0) continue;
            flag=0;
            dfs(i,j,i,1);
            if(flag==1)
            {
                ans++;
            }
        }
    }
    printf("%d",ans);
    return 0;
}