哪里错了

B3662 [语言月赛202209] 山峰

@[ONicklgzh](/user/1132685) 1,应该是printf(ans) 2,输出答案时不应该从1~ans吧
by TCY1234567 @ 2023-12-03 08:21:41


@[ONicklgzh](/user/1132685) 还有x1,y1,x2,y2输入顺序不对
by TCY1234567 @ 2023-12-03 08:24:52


@[ONicklgzh](/user/1132685) ```cpp #include <bits/stdc++.h> using namespace std; int a[1005][1005]; int ansx[1005*1005],ansy[1005*1005]; int main(){ int m,n,/*i,j/,*/T,t,x1,x2,y1,y2,ans=0; scanf("%d%d",&n,&m); for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ scanf("%d",&a[i][j]); } } scanf("%d",&T); for(int i=1;i<=T;i++){ scanf("%d %d %d %d",&x1,&y1,&x2,&y2); t=a[x1][y1]; a[x1][y1]=a[x2][y2]; a[x2][y2]=t; }//swap(a[x1][x2],a[x2][y2]) int cnt = 0; for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ if(a[i][j]>a[i-1][j]&&a[i][j]>a[i+1][j]&&a[i][j]>a[i][j+1]&&a[i][j]>a[i][j-1]){ ans++; ansx[cnt]=i; ansy[cnt]=j; cnt++; } } } printf("%d\n",ans); for(int i=0;i<=cnt;i++){ if(ansx[i]!=0&&ansy[i]!=0) printf("%d %d\n",ansx[i],ansy[i]); } return 0; }
by TCY1234567 @ 2023-12-03 10:24:26


@[TCY1234567](/user/968688) 看看我的谢谢大佬 ``` #include<iostream> #include<cstring> using namespace std; //struct node{ // int hang,line,power; //}; int n,m; int u,v,w,u1,v1; int a[1050][1050]; int t; int num; struct node{ int hang,line; }node1[1000005]; int h; int read() { int s=0; char ch=getchar(); while(ch>='0'&&ch<='9') { s=s*10+ch-'0'; ch=getchar(); } return s; } int main() { n=read(),m=read(); memset(a,0,sizeof a); for(int i=1;i<=n;i++) { for(int j=1;j<=m;j++) { w=read(); a[i][j]=w; } } t=read(); while(t--) { u=read(),v=read(),u1=read(),v1=read(); swap(a[u][v],a[u1][v1]); } for(int i=1;i<=n;i++) { for(int j=1;j<=m;j++) { h=a[i][j]; if(h>a[i-1][j]&&h>a[i+1][j]&&h>a[i][j-1]&&h>a[i][j+1]) { num++; node1[num]={i,j}; } } } cout<<num; cout<<endl; for(int i=1;i<=num;i++) { cout<<node1[i].hang<<" "<<node1[i].line<<endl; } return 0; } ```
by 呆呆的她啊 @ 2023-12-09 22:22:21


|