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

Posted 早知如此绊人心,何如当初莫相识。

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了#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 }

 

 

 

 

 

以上是关于#269(div2) C. MUH and House of Cards的主要内容,如果未能解决你的问题,请参考以下文章

#269(div2) B. MUH and Important Things

588 div2 C. Anadi and Domino

CF #738(div2)C. Mocha and Hiking(构造)

CF #724(div2)C. Diluc and Kaeya,暴力,构造

code force #419(div2)C. Karen and Game

CF #737(div2)C. Moamen and XOR,位运算,结论题,推公式