TLE了,咋写都过不了,帮帮忙呗。(用AI写了N次都0分)

8. 三角形计数

题目ID:8172必做题100分

最新提交:

Wrong Answer

0 分

历史最高:

Wrong Answer

40 分

时间限制: 1000ms

空间限制: 512000kB

题目描述

题目描述:

把一个大三角形的各边用n等分,然后把对应的等分点连接起来 (连接线和三角形的边平行)。

请编程计算三角形的总个数。

输入格式:

一个整数n.

输出格式:

一个正整数:代表三角形的个数。

样例输入:

3

样例输出:

13

约定:

1<=n<=100000
#include
using namespace std;

int main() {
long long n,s=0;
cin>>n;
for(long long i=1;i<=n;i++){
long long t=n-i+1;
s+=t*(t+1)/2;
}
for (long long i=1;i<=n-1;i++){
for (long long k=i;k<=n;k+=2){
long long t=n-k;
s+=t*(t+1)/2;
}
}
cout<<s-1<<endl;
return 0;
}

#include<bits/stdc++.h>
using namespace std;

int main(){

    int n;
    cin>>n;
    if(n%2==0){
        cout<<n*(n+2)*(2*n+1)/8<<endl;
    }else{
        cout<<(n+1)*(2*(int)(pow(n,2))+3*n-1)/8<<endl;
    }
return 0;
}
1 个赞

谢谢谢谢谢谢

(int)(pow(n,2))得改成(long long)(pow(n,2))