Codeforces Round #201 (Div. 1) / 346A Alice and Bob

#include <cstdio>
#include <algorithm>
using namespace std;

int gcd(int a,int b)
{
    return b?gcd(b,a%b):a;
}

int n[100+10];
int main()
{
    int t,maxn = 0;
    scanf("%d",&t);
    for(int i=0; i<t; i++)
    {
        scanf("%d",&n[i]);
        maxn = max(maxn,n[i]);
    }
    int high=maxn;
    for(int i=0; i<t-1; i++)
    {
        for(int j=i+1; j<t; j++)
        {
            int tem = gcd(n[i],n[j]);
            maxn = gcd(maxn,tem);
        }
    }
    int movestep = high/maxn - t;
    if(movestep&1)
    {
        printf("Alice\n");
    }
    else
    {
        printf("Bob\n");
    }
    return 0;
}

一个从1~n的自然数集合,U,若一集合V,|V|<|U|,且元素∈V,all∈U,则需要再添加多少元素,有U 等价于 V。

元素个数:num = max in V / ged of all V - |V|.

时间: 2024-10-16 18:28:23

Codeforces Round #201 (Div. 1) / 346A Alice and Bob的相关文章

Codeforces Round #325 (Div. 2) E. Alice, Bob, Oranges and Apples

E. Alice, Bob, Oranges and Apples Alice and Bob decided to eat some fruit. In the kitchen they found a large bag of oranges and apples. Alice immediately took an orange for herself, Bob took an apple. To make the process of sharing the remaining frui

Codeforces Round #201 (Div. 2) C 数论

Problem: 给你n(n<=100)个正数,每次从中取任意两个数,他们的差值如果在集合中没有就加入集合中,问最后集合中元素个数的奇偶性? Analyse: 首先考虑只有两个数的情况,发现两个数x,y(x>y),可以观察到连续执行操作,可以生成的数的集合是 {k?gcd(x,y) | k=1,2,..且 k?gcd(x,y)<=y} 然后考虑有第三个数Z的情况,因为前面的两个数,极其生成的所有数的最大公约数都是gcd(x, y), 所以加入第三个数之后这个集合的新的最大公约数是gcd(

Codeforces Round #593 (Div. 2) B. Alice and the List of Presents

Link 题意: \(n\) 种礼物分配给 \(m\) 个盒子 每种礼物有无限个,每个盒子至多拥有同种礼物一个并保证每种礼物至少被分配一次 思路: 求组合数 \(present_1\) 总共 \(2^{m-1}\) 种分法 根据乘法原理 \(n\) 个 \(present\) 共有 \({2^{m-1}}^n\) 种分法 代码: #include <bits/stdc++.h> using namespace std; typedef long long ll; const ll mod=1e

Codeforces Round #279 (Div. 2) ABCD

Codeforces Round #279 (Div. 2) 做得我都变绿了! Problems # Name     A Team Olympiad standard input/output 1 s, 256 MB  x2377 B Queue standard input/output 2 s, 256 MB  x1250 C Hacking Cypher standard input/output 1 s, 256 MB  x740 D Chocolate standard input/

Codeforces Round #Pi (Div. 2) (STL专场)

Codeforces Round #Pi (Div. 2) A - Lineland Mail 水题,拼手速. /* * @author Novicer * language : C++/C */ #include<iostream> #include<sstream> #include<fstream> #include<vector> #include<list> #include<deque> #include<queue

Codeforces Round #243 (Div. 1) A题

http://codeforces.com/contest/425/problem/A 题目链接: 然后拿出这道题目是很多人不会分析题目,被题目吓坏了,其中包括我自己,想出复杂度,一下就出了啊!真是弱! 直接暴力求出矩阵数值,然后枚举每一个[I,J];再O[N]判断,分配好在[I,J]区间的数和之内的数,再排序下SOLO了 CODE:#include <cstdio> #include <cstring>#include <queue>#include <vect

Codeforces Round #436 (Div. 2)【A、B、C、D、E】

Codeforces Round #436 (Div. 2) 敲出一身冷汗...感觉自己宛如智障:( codeforces 864 A. Fair Game[水] 题意:已知n为偶数,有n张卡片,每张卡片上都写有一个数,两个人每人选一个数,每人可以拿的卡片必须写有是自己选的数,问能否选择两个数使得两个人每人拿的卡片数一样多并且能拿光卡片.[就是看输入是不是只有两种数字] //:第一遍我看成字符串包含有选的数字也能拿,,这样写着居然过了..水题水题.. 1 #include<cstdio> 2

Codeforces Round #536 (Div. 2)

目录 Codeforces Round #536 (Div. 2) A 题目大意 题解 卡点 C++ Code: B 题目大意 题解 卡点 C++ Code: C 题目大意 题解 卡点 C++ Code: D 题目大意 题解 卡点 C++ Code: E 题目大意 题解 卡点 C++ Code: F 题目大意 题解 卡点 C++ Code: Codeforces Round #536 (Div. 2) A 题目大意 给你一个\(n\times n(n\leqslant500)\)的矩阵,只包含.

Codeforces Round #593 (Div. 2)

Codeforces Round #593 (Div. 2) A. Stones 思路:水题 先取第一堆中的每一个和先取第二堆中的每一个进行比较就行了 AC代码 #include <algorithm> #include <iomanip> #include <iostream> #include <map> #include <math.h> #include <queue> #include <set> #includ