首页 > 代码库 > #269(div2) C. MUH and House of Cards
#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
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。