求助,全红!答案没问题,咋没分,帮忙看下改改,谢谢!!!

B2108 图像模糊处理

@[q397851128](/user/621063) 输出格式 n 行,每行 m 个整数,为模糊处理后的图像。相邻两个整数之间用单个空格隔开。
by CES8708 @ 2021-12-16 18:36:36


@[CES8708](/user/404016) 求发一下改的代码。我换了各种方式输出也不管用
by q397851128 @ 2021-12-16 19:16:51


@[q397851128](/user/621063) 平均(舍入到最接近的整数)很显然他数据可能卡在这里了
by CES8708 @ 2021-12-16 19:32:40


@[q397851128](/user/621063) c++默认向下取整,要自己四舍五入一下, ```cpp #include <bits/stdc++.h> using namespace std; int main() { int m,n; cin>>m>>n; int tmp[n][m],ans[n][m]; for (int i=0;i<m;i++) { for (int q=0;q<n;q++) { cin>>tmp[q][i]; } } for (int i=0;i<n;i++) { ans[i][0]=tmp[i][0]; ans[i][m-1]=tmp[i][m-1]; } for (int i=0;i<m;i++) { ans[0][i]=tmp[0][i]; ans[n-1][i]=tmp[n-1][i]; } for (int i=1;i<m-1;i++) { for (int q=1;q<n-1;q++) { ans[q][i]=(tmp[q-1][i]+tmp[q+1][i]+tmp[q][i-1]+tmp[q][i+1]+tmp[q][i])/5; if (tmp[q-1][i]+tmp[q+1][i]+tmp[q][i-1]+tmp[q][i+1]+tmp[q][i]-(ans[q][i]*5)>=3) { ans[q][i]++; } } } for (int i=0;i<m;i++) { for (int q=0;q<n;q++) { cout<<ans[q][i]<<" "; } cout<<endl; } return 0; } ```
by CES8708 @ 2021-12-16 19:40:19


|