题解 | #Capoo's Acronym Zero#

https://ac.nowcoder.com/acm/contest/69408/L
Dormitory Number
新生赛好难,水一篇题解
首先三角形有一个特性——三条边不共点,所以我们只要在所有边中选3条,再减去共点的情况就好了

#include<bits/stdc++.h>
#define endl '\n'
using namespace std;
using ll = unsigned long long;

ll get(int x) {
    ll ans = 1;
    for (ll i = 1; i <= 3; i++) {
        ans = ans * (x - 3 + i) / i;
    }
    return ans;
}

int main()
{
    int t;cin >> t;
    int a,b,c;
    while(t--) {
        cin >> a >> b >> c;
        ll ans = get(a+b+c+3);
        if(a>=1) ans -= get(a+2);
        if(b>=1) ans -= get(b+2);
        if(c>=1) ans -= get(c+2);
        cout << ans << endl;
    }
    return 0;
}

注意一下,long long会爆,所以要用unsigned long long

全部评论

相关推荐

苗条的伊泽瑞尔最喜欢...:同28届被压力了,电科✌就不能去卷算法吗?把Java留给我们双非卷
投递快手等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务