社区讨论

20pts求调

B3662[语言月赛202209] 山峰参与者 2已保存回复 3

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
3 条
当前快照
1 份
快照标识符
@mm5qkxkj
此快照首次捕获于
2026/02/28 11:03
上周
此快照最后确认于
2026/03/02 10:55
上周
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
const int MAX=2005;
int main(){
	int n,m;
	cin>>m>>n;
	int arr[MAX][MAX]={0};
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++) cin>>arr[i][j];
	}
	int T;
	cin>>T;
	int x1,y1,x2,y2;
	for(int i=1;i<=T;i++){
		cin>>x1>>y1>>x2>>y2;
		swap(arr[x1][y1],arr[x2][y2]);
	}
	int arr1[MAX*MAX][3]={0},cnt=0,ii=1;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			bool is_peak=true;
            if(i>1&&arr[i][j]<=arr[i-1][j]) is_peak=false;
            if(i<n&&arr[i][j]<=arr[i+1][j]) is_peak=false;
            if(j>1&&arr[i][j]<=arr[i][j-1]) is_peak=false;
            if(j<m&&arr[i][j]<=arr[i][j+1]) is_peak=false;
            if(is_peak){
                arr1[ii][1]=i;
                arr1[ii][2]=j;
                cnt++;
                ii++;
            }
		}
	}
	cout<<cnt<<endl;
	for(int i=1;i<=ii-1;i++) cout<<arr1[i][1]<<" "<<arr1[i][2]<<endl;
    return 0;
}

回复

3 条回复,欢迎继续交流。

正在加载回复...