Codeforces Round #516 (Div. 2, by Moscow Team Olympiad)
# | 题目 | 分数 | 是否AC |
---|---|---|---|
A | Make a triangle! | 800 | ✅ |
B | Equations of Mathematical Magic | 1200 | ✅ |
C | Oh Those Palindromes | 1300 | ✅ |
D | Labyrinth | 1800 | ✅ |
E | Dwarves, Hats and Extrasensory Abilities | 1900 | ❌ |
F | Candies for Children | 2600 | ❌ |
A. Make a triangle!
题目类型 数学
题意
有三个长度分别为 a 、 b 、 c a、b、c a、b、c 的木棍,在 1 1 1 分钟内你一可以讲任意一根木棍的长度增加 1 1 1。现在问至少需要花费几分钟才能将这三根木棍首尾相接拼成一个三角形。
分析
要能拼成三角形一定要满足任意两边之和大于第三边。那么只有较短的两边之和大于最长的边即可。如果不满足则花费为 最 长 边 − 其 余 两 条 边 的 和 + 1 最长边 - 其余两条边的和 + 1 最长边−其余两条边的和+1。
时间复杂度
O ( 1 ) O(1) O(1)
代码
public static void solve() throws IOException {
int[] a = new int[3];
for (int i = 0; i < 3; i++) a[i] = nextInt();
Arrays.sort(a);
if (a[0] + a[1] > a[2]) pw.println(0);
else pw.println(a[2] - (a[0] + a[1]) + 1);
}
B. Equations of Mathematical Magic
题目类型 数学 排列组合
题意
给定 a a a,求 a − ( a ⊕ x ) − x = 0 a − ( a ⊕ x ) − x = 0 a−(a⊕x)−x=0<