【博弈】Alice and Bob CodeForces - 347C
2017-06-17 10:16
204 查看
Problem Description
给你一个长度为n的序列。Alice先动,选择序列中随便的两个数,求他们差的绝对值。如果和序列的数不重复就加入序列。如果找不到这样的两个数就算输
思路:4 8 10,最大长度也就 2 4 6 8 10。 4 12, 最大长度也就 4 8 12。3 5 10, 最大长度1 2 3 4 5 6 7 8 9 10。草稿纸想一想画一画,你就会序列最大长度就等于 最大的数 / 所有数的最大公约数.
给你一个长度为n的序列。Alice先动,选择序列中随便的两个数,求他们差的绝对值。如果和序列的数不重复就加入序列。如果找不到这样的两个数就算输
思路:4 8 10,最大长度也就 2 4 6 8 10。 4 12, 最大长度也就 4 8 12。3 5 10, 最大长度1 2 3 4 5 6 7 8 9 10。草稿纸想一想画一画,你就会序列最大长度就等于 最大的数 / 所有数的最大公约数.
#include<bits/stdc++.h> using namespace std; int gcd(int a, int b) { return !b ? a:gcd(b, a % b); } int main() { int n, ans, i, k; int a[105]; while(~scanf("%d", &n)) { ans = 0; for(i = 0; i < n; i++) { scanf("%d", &a[i]); ans = max(a[i], ans);//序列最大值 } sort(a, a + n); k = gcd(a[0], a[1]); for(i = 2; i < n; i++) { k = gcd(max(k, a[i]), min(k, a[i]));//求序列所有数的最大公约数 } ans = ans / k - n;//还能够产生的元素 if(ans % 2 == 0) printf("Bob\n"); else printf("Alice\n"); } return 0; }
相关文章推荐
- Alice and Bob CodeForces - 347C
- Codeforces Round #201.C-Alice and Bob
- Codeforces Round #6——C. Alice, Bob and Chocolate(想法题)
- CodeForces 347C Alice and Bob(博弈)
- Codeforces Round #201 (Div. 1) A. Alice and Bob(数学)
- Alice, Bob, Oranges and Apples CodeForces - 586E
- Alice, Bob and Chocolate CodeForces - 6C
- HDU 4371 Alice and Bob [简单博弈]
- codeforces 347 c Alice and Bob(博弈 && 数学)
- HDU4111 Alice and Bob 2011成都现场赛A题 博弈
- Educational Codeforces Round 9 -- B - Alice, Bob, Two Teams
- ZOJ 3529 A Game Between Alice and Bob 博弈好题
- hrbust 2203 Alice and Bob(规律 博弈)
- hdu 4111 Alice and Bob(中档博弈题)
- Alice and Bob(博弈)
- 解题报告:HDU 4111 Alice and Bob 递推|博弈
- [UVALive5760] Alice and Bob && 博弈
- 2011 ACM-ICPC 成都赛区A题 Alice and Bob (博弈动规)
- Educational Codeforces Round 9 B. Alice, Bob, Two Teams 前缀和
- Alice, Bob, Two Teams CodeForces - 632B