• #269(div2) C. MUH and House of Cards


    题意:给出N,问可以组装成不同的层。

    思路:发现第一层的mod3=2,第二层的mod3=1,第三层的mod3=0,第四层的mod3=2......然后我们判断N是否足够建立该层最少的所需,第i层所需=3*n*(n-1)/2+2*n,for循环里的i也要开longlong ,不然超时,别问我为什么知道。

     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 typedef long long ll;
     4 
     5 int main(){
     6     ll n;
     7     cin>>n;
     8     ll sum=0;
     9     int m=n%3;
    10     ll y;
    11     if(m==1) y=2;
    12     else if(m==2) y=1;
    13     else if(m==0) y=3;
    14     for(ll i=y;;i+=3){
    15         ll x=(i*(i-1)/2)*3+2*i;
    16         if(x>n) break;
    17         else sum++;
    18     }
    19     cout<<sum<<endl;
    20 }

  • 相关阅读:
    Tips
    react
    Vue 双向绑定
    jQuery 学习笔记
    CC NOV17
    一种高效处理无修改区间或树上询问的数据结构(附代码)
    HNOI 2017
    PA2015
    bzoj 泛做
    GG
  • 原文地址:https://www.cnblogs.com/hhxj/p/6974135.html
Copyright © 2020-2023  润新知