@[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