码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2017-06-10 00:36:11      阅读:227      评论:0      收藏:0      [点我收藏+]

标签:card   pac   code   its   logs   std   color   不同   三层   

题意:给出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

标签:card   pac   code   its   logs   std   color   不同   三层   

原文地址:http://www.cnblogs.com/hhxj/p/6974135.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!