Just One Test

#include<bits/stdc++.h>
using namespace std;
typedef vector<int> vt;
const int N=1e3+10;
int temp[N][3];
int main()
{
    int m,n,k;
    cin>>n>>m>>k;
    vector<vt>arr(m+1,vt(n+1));
    map<int,int>check;
    int idx=0;
    for(int i=0;i<m;i++)
    {
        for(int j=0;j<n;j++)
        {
            cin>>arr[i][j];
            check[arr[i][j]]++;
        }
    }
    for(int i=0;i<m;i++)
    {
        for(int j=0;j<n;j++)
        {
            if(check[arr[i][j]]==1)
            {
                if(i>0&&i<m-1)
                {
                    if(j>0&&j<n-1)
                    {   
                        bool judge1=(abs(arr[i][j]-arr[i][j-1])>k);
                        bool judge2=(abs(arr[i][j]-arr[i][j+1])>k);
                        bool judge3=(abs(arr[i][j]-arr[i-1][j])>k);
                        bool judge4=(abs(arr[i][j]-arr[i+1][j])>k);
                        bool judge5=(abs(arr[i][j]-arr[i+1][j+1])>k);
                        bool judge6=(abs(arr[i][j]-arr[i-1][j+1])>k);
                        bool judge7=(abs(arr[i][j]-arr[i+1][j-1])>k);
                        bool judge8=(abs(arr[i][j]-arr[i-1][j-1])>k);
                        if(judge1&&judge2&&judge3&&judge4&&judge5&&judge6&&judge7&&judge8) 
                        {     
                            temp[idx][0]=i;
                            temp[idx][1]=j;
                            temp[idx++][2]=arr[i][j];
                        }
                    }
                    else if(j==0)
                    {
                        bool judge2=(abs(arr[i][j]-arr[i][j+1])>k);
                        bool judge3=(abs(arr[i][j]-arr[i-1][j])>k);
                        bool judge4=(abs(arr[i][j]-arr[i+1][j])>k);
                        bool judge5=(abs(arr[i][j]-arr[i+1][j+1])>k);
                        bool judge6=(abs(arr[i][j]-arr[i-1][j+1])>k);
                        if(judge2&&judge3&&judge4&&judge5&&judge6)
                        {     
                            temp[idx][0]=i;
                            temp[idx][1]=j;
                            temp[idx++][2]=arr[i][j];
                        }
                    }
                    else if(j==n-1)
                    {
                        bool judge1=(abs(arr[i][j]-arr[i][j-1])>k);
                        bool judge3=(abs(arr[i][j]-arr[i-1][j])>k);
                        bool judge4=(abs(arr[i][j]-arr[i+1][j])>k);
                        bool judge7=(abs(arr[i][j]-arr[i+1][j-1])>k);
                        bool judge8=(abs(arr[i][j]-arr[i-1][j-1])>k);
                        if(judge1&&judge3&&judge4&&judge7&&judge8) 
                        {     
                            temp[idx][0]=i;
                            temp[idx][1]=j;
                            temp[idx++][2]=arr[i][j];
                        }
                    }
                }
                else if(i==0)
                {
                    if(j>0&&j<n-1)
                    {   
                        bool judge1=(abs(arr[i][j]-arr[i][j-1])>k);
                        bool judge2=(abs(arr[i][j]-arr[i][j+1])>k);
                        bool judge4=(abs(arr[i][j]-arr[i+1][j])>k);
                        bool judge5=(abs(arr[i][j]-arr[i+1][j+1])>k);
                        bool judge7=(abs(arr[i][j]-arr[i+1][j-1])>k);
                        if(judge1&&judge2&&judge4&&judge5&&judge7) 
                        {     
                            temp[idx][0]=i;
                            temp[idx][1]=j;
                            temp[idx++][2]=arr[i][j];
                        }
                    }
                    else if(j==0)
                    {
                        bool judge2=(abs(arr[i][j]-arr[i][j+1])>k);
                        bool judge4=(abs(arr[i][j]-arr[i+1][j])>k);
                        bool judge5=(abs(arr[i][j]-arr[i+1][j+1])>k);
                        if(judge2&&judge4&&judge5) 
                        {     
                            temp[idx][0]=i;
                            temp[idx][1]=j;
                            temp[idx++][2]=arr[i][j];
                        }
                    }
                    else if(j==n-1)
                    {
                        bool judge1=(abs(arr[i][j]-arr[i][j-1])>k);
                        bool judge4=(abs(arr[i][j]-arr[i+1][j])>k);
                        bool judge7=(abs(arr[i][j]-arr[i+1][j-1])>k);
                        if(judge1&&judge4&&judge7) 
                        {     
                            temp[idx][0]=i;
                            temp[idx][1]=j;
                            temp[idx++][2]=arr[i][j];
                        }
                    }
                }
                else if(i==m-1)
                {
                    if(j>0&&j<n-1)
                    {   
                        bool judge1=(abs(arr[i][j]-arr[i][j-1])>k);
                        bool judge2=(abs(arr[i][j]-arr[i][j+1])>k);
                        bool judge3=(abs(arr[i][j]-arr[i-1][j])>k);
                        bool judge6=(abs(arr[i][j]-arr[i-1][j+1])>k);
                        bool judge8=(abs(arr[i][j]-arr[i-1][j-1])>k);
                        if(judge1&&judge2&&judge3&&judge6&&judge8) 
                        {     
                            temp[idx][0]=i;
                            temp[idx][1]=j;
                            temp[idx++][2]=arr[i][j];
                        }
                    }
                    else if(j==0)
                    {
                        bool judge2=(abs(arr[i][j]-arr[i][j+1])>k);
                        bool judge3=(abs(arr[i][j]-arr[i-1][j])>k);
                        bool judge6=(abs(arr[i][j]-arr[i-1][j+1])>k);
                        if(judge2&&judge3&&judge6) 
                        {     
                            temp[idx][0]=i;
                            temp[idx][1]=j;
                            temp[idx++][2]=arr[i][j];
                        }
                    }
                    else if(j==n-1)
                    {
                        bool judge1=(abs(arr[i][j]-arr[i][j-1])>k);
                        bool judge3=(abs(arr[i][j]-arr[i-1][j])>k);
                        bool judge8=(abs(arr[i][j]-arr[i-1][j-1])>k);
                        if(judge1&&judge3&&judge8) 
                        {     
                            temp[idx][0]=i;
                            temp[idx][1]=j;
                            temp[idx++][2]=arr[i][j];
                        }
                    }
                }
            }
        }
    }
    /*for(int i=0;i<m;i++)
    {
        for(int j=0;j<n;j++)
            cout<<arr[i][j]<<" ";
        cout<<"DEBUG."<<endl;
    }
    for(int i=0;i<idx;i++)
        cout<<"DEBUG."<<'('<<temp[i][1]+1<<", "<<temp[i][0]+1<<"): "<<temp[i][2]<<endl;
    */
    if(idx>1)cout<<"Not Unique"<<endl;
    else if(idx<1) cout<<"Not Exist"<<endl;
    else cout<<'('<<temp[0][1]+1<<", "<<temp[0][0]+1<<"): "<<temp[0][2]<<endl;
    return 0;
}
posted @ 2025-11-10 21:05  usedchang  阅读(4)  评论(0)    收藏  举报