首页 > 代码库 > hdu 4486
hdu 4486
把一个长度为n的绳子分成三段,用这3段绳子组成三角形,问有多少个不同的三角形
如果一个三角形的三边都不相等,可以算两次.
#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<algorithm>#include<cstdlib>#include<cmath>#include<queue>#include<vector>#include<set>using namespace std;int ca,n,t,y,miny,maxy,ans;int main(){ scanf("%d",&t); while(t--) { ans=0; scanf("%d%d",&ca,&n); for(int x=1;x<=n/3;x++) { miny=max(x,n/2-x+1); maxy=(n-x)/2; if(x==miny) --ans; if(x!=maxy&&maxy==n-x-maxy) --ans; ans+=(maxy-miny+1)*2; } printf("%d %d\n",ca,ans); } return 0;}
hdu 4486
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。