题解 | #不要二#

不要二

https://www.nowcoder.com/practice/1183548cd48446b38da501e58d5944eb?tpId=122&tqId=33662&ru=/exam/oj

#include <iostream>
#include <vector>
using namespace std;

int main() {
    // m行n列
    int m, n;
    cin >> m >> n;

    // vector用于存储蛋糕
    vector<vector<int>> v;
    v.resize(m);
    for(auto& e : v)
    {
        e.resize(n, 1);
    }

    // 进行判断
    int count = 0;
    for(int i = 0; i < m; i++)
    {
        for(int j = 0; j < n; j++)
        {
            if(v[i][j] == 1)
            {
                count++;
                if(i+2 < m)
                {
                    v[i+2][j] = 0;
                }

                if(j+2 < n)
                {
                    v[i][j+2] = 0;
                }
            }
        }
    }

    cout << count;
    return 0;
}
// 64 位输出请用 printf("%lld")

注意:需要用到一点勾股定理的知识;

题目所说,两点(x,y)的算术平方根为2,也就是说算出来侧边的长度为2;

遍历vector,从(0,0)处开始,将右边(0+2)和下边(0+2)坐标值置为0,可以画下图大家就很明了

全部评论

相关推荐

码农索隆:有点耳熟,你们是我教过最差的一届
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
昨天 14:10
啊啊啊啊好幸福,妈妈是我找工作发疯前的一束光
榕城小榕树:你是我见过最幸福的牛客男孩
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务