脚本宝典收集整理的这篇文章主要介绍了P2345 [USACO04OPEN] MooFest G,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
约翰的 (n) 头奶牛每年都会参加“哞哞大会”。
哞哞大会是奶牛界的盛事。集会上的活动很多,比如堆干草,跨栅栏,摸牛仔的屁股等等。
它们参加活动时会聚在一起,第 (i) 头奶牛的坐标为 (x_i),没有两头奶牛的坐标是相同的。
奶牛们的叫声很大,第 (i) 头和第 (j) 头奶牛交流,会发出 (max {v_i,v_j}times |x_i − x_j |) 的音量,其中 (v_i) 和 (v_j) 分别是第 (i) 头和第 (j) 头奶牛的听力。
假设每对奶牛之间同时都在说话,请计算所有奶牛产生的音量之和是多少。
直接暴力模拟 (O(n^2)) 可过。
注意要开 long long
!
#include <bits/stdc++.h>
#define int long long
using namespace std;
int n,ans;
struct cow{
int v,x;
} cows[20005];
int max(int x,int y){
return x>y?x:y;
}
signed main(){
cin>>n;
for(int i=1;i<=n;i++){
cow &ncow = cows[i];
cin>>ncow.v>>ncow.x;
}
for(int i=1;i<=n;i++){
for(int j=i+1;j<=n;j++){
ans+=(max(cows[i].v,cows[j].v)*abs(cows[i].x-cows[j].x));
}
}
cout<<ans<<endl;
return 0;
}
以上是脚本宝典为你收集整理的P2345 [USACO04OPEN] MooFest G全部内容,希望文章能够帮你解决P2345 [USACO04OPEN] MooFest G所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。