Codeforces Round #682 (Div. 2) C. Engineer Artem (构造)
-
题意:给你一个\(n\)x\(m\)的矩阵,你可以任意位置的元素+1,只能加一次,问你如何使得任意位置的元素不等于它四周的值.输出操作后的矩阵.
-
题解:构造,矩阵中某两个下标的和的奇偶性一定和四周的都不同,因为题目保证有解,所以我们只要让下标和是奇数的填奇数,偶数的填偶数即可.
-
代码:
int t; int n,m; int g[110][110]; int main() { ios::sync_with_stdio(false);cin.tie(0);cout.tie(0); cin>>t; while(t--){ cin>>n>>m; rep(i,1,n){ rep(j,1,m){ int cur=i+j; cin>>g[i][j]; if(cur%2==0){ if(g[i][j]%2!=0) g[i][j]++; } else{ if(g[i][j]%2==0) g[i][j]++; } cout<<g[i][j]<<' '; } cout<<'\n'; } } return 0; }
𝓐𝓬𝓱𝓲𝓮𝓿𝓮𝓶𝓮𝓷𝓽 𝓹𝓻𝓸𝓿𝓲𝓭𝓮𝓼 𝓽𝓱𝓮 𝓸𝓷𝓵𝔂 𝓻𝓮𝓪𝓵
𝓹𝓵𝓮𝓪𝓼𝓾𝓻𝓮 𝓲𝓷 𝓵𝓲𝓯𝓮