紧急求助,70分
查看原帖
紧急求助,70分
919235
customr楼主2023/2/7 12:00
#include <iostream>
#include<bits/stdc++.h>
using namespace std;

int main() {
    int n,m;
    cin>>n>>m;
    int i,j;
    int t;
    int sum=0;
    int b[n*m];
    for(i=1;i<=n*m;i++){
        b[i]=-1;
    }

    int a[n+1][m+1];
    for(i=1;i<=n;i++){
        for(j=1;j<=m;j++){
            cin>>a[i][j];
        }
    }
    cin>>t;
    int q,w,e,r;
    int temp;
    while(t!=0){
        cin>>q>>w>>e>>r;
        temp=a[q][w];
        a[q][w]=a[e][r];
        a[e][r]=temp;
        t--;
        }
        int x=1;

        for(i=1;i<=n;i++){
        for(j=1;j<=m;j++){
            if(i!=1&&i!=n&&j!=1&&j!=m){
                if(a[i][j]>a[i][j+1]&&a[i][j]>a[i+1][j]&&a[i][j]>a[i-1][j]&&a[i][j]>a[i][j-1]){
                    sum++;
                    b[x]=i;
                    b[x+1]=j;
                    x+=2;
                    }
            }else if(i==1&&j!=1&&j!=m){
                if(a[i][j]>a[i+1][j]&&a[i][j]>a[i][j-1]&&a[i][j]>a[i][j+1]){
                     sum++;
                    b[x]=i;
                    b[x+1]=j;
                    x+=2;

                }
            }else if(i==n&&j!=1&&j!=m){
                if(a[i][j]>a[i-1][j]&&a[i][j]>a[i][j-1]&&a[i][j]>a[i][j+1]){
                    sum++;
                    b[x]=i;
                    b[x+1]=j;
                    x+=2;
                }
            }else if(j==1&&i!=1&&i!=n){
                if(a[i][j]>a[i-1][j]&&a[i][j]>a[i+1][j]&&a[i][j]>a[i][j+1]){
                    sum++;
                    b[x]=i;
                    b[x+1]=j;
                    x+=2;

                }
            }else if(j==m&&i!=1&&i!=n){
                if(a[i][j]>a[i-1][j]&&a[i][j]>a[i+1][j]&&a[i][j]>a[i][j-1]){
                    sum++;
                    b[x]=i;
                    b[x+1]=j;
                    x+=2;
                }
            }else if(i==1&&j==1){
                if(a[i][j]>a[i+1][j]&&a[i][j]>a[i][j+1]){
                     sum++;
                    b[x]=i;
                    b[x+1]=j;
                    x+=2;
                }
            }else if(i==1&&j==m){
                if(a[i][j]>a[i+1][j]&&a[i][j]>a[i][j-1]){
                    sum++;
                    b[x]=i;
                    b[x+1]=j;
                    x+=2;
                }
            }else if(i==n&&j==1){
                if(a[i][j]>a[i-1][j]&&a[i][j]>a[i][j+1]){
                     sum++;
                    b[x]=i;
                    b[x+1]=j;
                    x+=2;
                }
            }else if(i==n&&j==n){
                if(a[i][j]>a[i-1][j]&&a[i][j]>a[i][j-1]){
                      sum++;
                    b[x]=i;
                    b[x+1]=j;
                    x+=2;

                }
            }

            
        }
    }
    cout<<sum<<endl;
    for(i=1;i<m*n;i+=2){
        if(b[i]!=-1){
            cout<<b[i]<<" "<<b[i+1]<<endl;
        }
    }
return 0;
    
}

最暴力的方法,把特殊的值都讨论一下为什么70分

2023/2/7 12:00
加载中...