题解 | 明日DISCO

明日DISCO

https://www.nowcoder.com/practice/5f28e16c1c934fa9bfd78d80292e99d5

#include <iostream>

using namespace std;

const int N=505;

int n;
int a[N][N];
int dx[4]={1,0,0,-1};
int dy[4]={0,1,-1,0};

int main()
{
    scanf("%d",&n);
    for(int i=1;i<=n;i++)
        for(int j=1;j<=n;j++)
            scanf("%d",&a[i][j]);
    int tmp=-1e9-1;
    for(int i=1;i<=n;i++)
        for(int j=1;j<=n;j++)
        {
            int nx,ny;
            bool flag1=false,flag2=false;
            for(int k=0;k<4;k++)
            {
                nx=i+dx[k],ny=j+dy[k];
                if(a[nx][ny] < a[i][j]) flag1=true;
                else if(a[nx][ny] == a[i][j])
                {
                    if(tmp==-1e9-1) tmp=a[i][j];
                    else if(tmp != a[i][j])
                    {
                        cout<<"NO";
                        return 0;
                    }
                    flag2=true;
                }
                else flag2=true;
                if(flag1 && flag2 && tmp!=-1e9-1 && a[i][j] !=tmp)
                {
                    cout<<"NO";
                    return 0;
                }
                else if(flag1 && flag2 && tmp == -1e9-1) tmp=a[i][j];
            }
        }
    if(tmp != -1e9-1 && tmp != 0)
    {
        cout<<"NO";
        return 0;
    }
    cout<<"YES";
    return 0;
}

全部评论

相关推荐

小浪_Coding:1. 个人技能排版太乱, 写的技术栈太浅了, 跟测试,自动化相关的太少; 2. 项目开发类的太简单没有亮点, 算法类的项目建议只放一个,最好有自动化,CI/CD, pipline的项目, 需要更换; 3.整体排版需要优化, SOOB打招呼都需要注意等.
我的简历长这样
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务