1396 counting triangles.cpp
来自「威士忌的HDU题解.大概有260多题的源码。对于学习非常有好处。」· C++ 代码 · 共 41 行
CPP
41 行
/*
1396 Counting Triangles
Time Limit : 1000 ms Memory Limit : 32768 K Output Limit : 256 K
GUN C++
*/
/*
边长为1的三角个数为n*n
总边长n(n>=2)中边长为m(m>=2)的正三角的个数为[ n-(m-1) ][ n-(m-2) ]/2个
倒三角可以看作是正三角的倒像
注意倒三角是增加2层才会出现边长增加的新倒三家情况
但是已经出现的倒三角形状是随层数增加而增加
总边长n(n>=4)中边长为m(m>=2)的倒三角的个数为[ n-(m-1) ][ n-(m-2) ]/2个
*/
#include <iostream.h>
using namespace std;
const int Max=1000;
int main()
{
int n,ca,ans,rn;
while(cin>>n)
{
ans=n*n;//边长为1的三角个数
for(ca=2;ca<=n;ca++)//边长为ca(ca>=2)的正三角的个数
{
ans+=(n-ca+1)*(n-ca+2)/2;
}
for(ca=4;ca<=n;ca+=2)//总边长为ca(ca>=2)的倒三角的个数
{
ans+=(n-ca+1)*(n-ca+2)/2;
}
cout<<ans<<endl;
}
return 0;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?