原题下载
答案:
#include <iostream>
#include <cstdlib>
using namespace std;
typedef long long ll;
int main() {
ll x, y;
cin >> x >> y;
ll ans = 0;
ll by = 1;
ll dir = 1;
while(true) {
// dir == 1 means Farmer John is moving to the right, and
// dir == -1 means he is moving to the left.
if((dir==1 && x<=y && y<=x+by) || (dir==-1 && x-by<=y && y<=x)) {
// We found Bessie!
ans += abs(y-x);
cout << ans << endl;
break;
} else {
// Didn't find Bessie! Add to our running total the cost of
// moving 'by' units away from the start and back again.
// Then multiply our next move's length by 2 and switch direction.
ans += by*2;
by *= 2;
dir *= -1;
}
}
}
以上就是关于【USACO 2017 US Open Contest, Bronze Problem 1. The Lost Cow】的解答,如需了解学校/赛事/课程动态,可至翰林教育官网获取更多信息。
往期文章阅读推荐:
5金3银!2026 IOAI国际人工智能奥赛收官!中国队取得历史性突破!
AI奥赛2026国家队名单公布! 新赛季翰林助力直通IOAI全球总决赛!

© 2026. All Rights Reserved. 沪ICP备2023009024号-1