0
点赞
收藏
分享

微信扫一扫

CF1438C Engineer Artem(构造)

梦为马 2022-07-15 阅读 24


链接

题意:

给出的矩阵,我们需要使得 每个位置,上下左右与其不相等,进行的操作是可以使得一些数加1,只能加一次。

分析:

本来是找标签FFT找的,一看过得7000多,当时感觉人特别多,后来看完题才知道,是个构造,不是FFT,也可能可以用FFT,但是,又更简单的方法,那句是构造。
我们要求上面左右不相等,那么我们可以构造出一个网状结构。奇偶交替出现。

ll n,m;
ll dp[110][110];
void solve()
{
cin>>n>>m;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>dp[i][j];
}
}
for(int i=1;i<=n;i++){
int flag=i%2;
for(int j=1;j<=m;j++){
if((flag-j)%2) {
if(dp[i][j]&1) cout<<dp[i][j]<<" ";
else cout<<dp[i][j]+1<<" ";
}else {
if(dp[i][j]&1) cout<<dp[i][j]+1<<" ";
else cout<<dp[i][j]<<" ";
}
}
cout<<endl;
}
}


举报

相关推荐

0 条评论