Codeforces Round #630 (Div. 2) D. Walk on Matrix(构造)

传送门

题意:

给一个数k,构造一个矩阵
在这里插入图片描述
用上面那个代码跑出来的值dp[n][m],和找到一个走法,从(1,1)走到(n,m)路径上的值相与的最大值ans,他们的差值是k

思路:

构造一个2*3的就可以了
上面代码跑出来的dp[n][m]是0,然后从(1,1)(1,2)(2,2)(2,3)这样的相值是k
(看懂ans+k是啥应该就懂了)

代码:

int main()
{
    std::ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);
    int ans=(1<<17);
    //cout<<ans<<endl;
    int k;
    cin>>k;
    cout<<2<<" "<<3<<endl;
    int cnt=0;
    cout<<ans+k<<" "<<k<<" "<<0<<endl;
    cout<<ans<<" "<<ans+k<<" "<<k<<endl;

    return 0;
}
/*

*/

 
 
发布了188 篇原创文章 · 获赞 17 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/weixin_44091178/article/details/105237017