C++4行

蛇形矩阵

http://www.nowcoder.com/questionTerminal/649b210ef44446e3b1cd1be6fa4cab5e

其实可以找规律,C++4行就够

  • 第一行最右上角的元素=图片说明 .

  • 相应的,第一行其他元素=图片说明 .

  • 第二行的元素为上一行元素去掉第一个,再减去1即可

  • 类似,下一行等于上一行元素去掉第一个,再减去1即可 直到最后

    #include <iostream>
    using namespace std;
    int main()
    {
      int N;
      while(cin>>N)
      {
          for (size_t i = 1; i <= N; i++) //行
          {
              for (size_t j = 1; j < N-(i-1); j++) //列
                  cout<< ((j+i-1)*(j+i-1)+j+i-1)/2 -(i-1)<<" ";
              cout<< (N*N+N)/2-(i-1) <<endl;
          }
      }
    
      return 0;
    }
全部评论
真的怕这种找规律的降维打击,瓶盖题也是。
1 回复 分享
发布于 2022-01-06 00:38
c++3行就够
点赞 回复 分享
发布于 2022-07-22 16:06
这时间复杂度会不会高了点
点赞 回复 分享
发布于 2022-01-23 20:54
兄弟,牛逼
点赞 回复 分享
发布于 2021-03-08 16:57

相关推荐

面了100年面试不知...:头像换成柯南再试试
点赞 评论 收藏
分享
评论
66
2
分享

创作者周榜

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