洛谷——P1154 奶牛分厩

P1154 奶牛分厩

题目描述

农夫约翰有N(1<=N<=5000)头奶牛,每头奶牛都有一个唯一的不同于其它奶牛的编号Si,所有的奶牛都睡在一个有K个厩的谷仓中,厩的编号为0到K-1。每头奶牛都知道自己该睡在哪一个厩中,因为约翰教会了它们做除法,Si MOD K的值就是第i头奶年所睡的厩的编号。

给出一组奶牛的编号,确定最小的K使得没有二头或二头以上的奶牛睡在同一厩中。

输入输出格式

输入格式:

第一行一个正整数N,第2到N+1行每行一个整数表示一头奶牛的编号。

输出格式:

单独一行一个整数表示要求的最小的K,对所有的测试数据这样的K是一定存在的

输入输出样例

输入样例#1: 复制

5
4
6
9
10
13

输出样例#1: 复制

8

说明

Si(1<=Si<=1000000)

同余定理,我们考虑,a1,a2,若我们需要让他们两个对一个数取膜的余数不同,我们先来考虑当什么时候这两个数取膜后的余数相同呢?我们如果对a2-a1取膜的话,他们的余数最后一定相等等于a1,这里我们假定a2>a1,以此类推,我们就可以求出答案了

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define N 1000010
using namespace std;
bool check[N];
int n,s[N],maxn;
int read()
{
    int x=0,f=1; char ch=getchar();
    while(ch<‘0‘||ch>‘9‘){if(ch==‘-‘)f=-1;ch=getchar();}
    while(ch>=‘0‘&&ch<=‘9‘) x=x*10+ch-‘0‘,ch=getchar();
    return x*f;
}

int main()
{
    n=read();
    for(int i=1;i<=n;i++)
     s[i]=read(),maxn=max(maxn,s[i]);
    for(int i=1;i<=n;i++)
     for(int j=i+1;j<=n;j++)
      check[abs(s[i]-s[j])]=true;
    for(int i=n;i<=maxn;i++)
     if(!check[i])
     {
         printf("%d",i);
         return 0;
     }
}
时间: 2024-11-02 17:39:59

洛谷——P1154 奶牛分厩的相关文章

洛谷 P1154 奶牛分厩

P1154 奶牛分厩 农夫约翰有N(1<=N<=5000)头奶牛,每头奶牛都有一个唯一的不同于其它奶牛的编号Si,所有的奶牛都睡在一个有K个厩的谷仓中,厩的编号为0到K-1.每头奶牛都知道自己该睡在哪一个厩中,因为约翰教会了它们做除法,Si MOD K的值就是第i头奶年所睡的厩的编号. 给出一组奶牛的编号,确定最小的K使得没有二头或二头以上的奶牛睡在同一厩中. 输入输出格式 输入格式: 第一行一个正整数N,第2到N+1行每行一个整数表示一头奶牛的编号. 输出格式: 单独一行一个整数表示要求的最

洛谷P1154 奶牛分厩

题目描述 农夫约翰有N(1<=N<=5000)头奶牛,每头奶牛都有一个唯一的不同于其它奶牛的编号Si,所有的奶牛都睡在一个有K个厩的谷仓中,厩的编号为0到K-1.每头奶牛都知道自己该睡在哪一个厩中,因为约翰教会了它们做除法,Si MOD K的值就是第i头奶年所睡的厩的编号. 给出一组奶牛的编号,确定最小的K使得没有二头或二头以上的奶牛睡在同一厩中. 输入输出格式 输入格式: 第一行一个正整数N,第2到N+1行每行一个整数表示一头奶牛的编号. 输出格式: 单独一行一个整数表示要求的最小的K,对所

洛谷P2340 奶牛会展

洛谷P2340 奶牛会展用下标表示智商,值表示情商 1 #include <bits/stdc++.h> 2 #define For(i,j,k) for(int i=j;i<=k;i++) 3 using namespace std ; 4 5 const int N = 411 ; 6 int n,m ; 7 int a[N],b[N],f[800011] ; 8 9 inline int read() 10 { 11 int x = 0 , f = 1 ; 12 char ch =

luoguP1154 奶牛分厩 [数论]

题目描述 农夫约翰有N(1<=N<=5000)头奶牛,每头奶牛都有一个唯一的不同于其它奶牛的编号Si,所有的奶牛都睡在一个有K个厩的谷仓中,厩的编号为0到K-1.每头奶牛都知道自己该睡在哪一个厩中,因为约翰教会了它们做除法,Si MOD K的值就是第i头奶年所睡的厩的编号. 给出一组奶牛的编号,确定最小的K使得没有二头或二头以上的奶牛睡在同一厩中. 输入输出格式 输入格式: 第一行一个正整数N,第2到N+1行每行一个整数表示一头奶牛的编号. 输出格式: 单独一行一个整数表示要求的最小的K,对所

洛谷P1472 奶牛家谱 Cow Pedigrees

P1472 奶牛家谱 Cow Pedigrees 102通过 193提交 题目提供者该用户不存在 标签USACO 难度普及+/提高 提交  讨论  题解 最新讨论 暂时没有讨论 题目描述 农民约翰准备购买一群新奶牛. 在这个新的奶牛群中, 每一个母亲奶牛都生两个小奶牛.这些奶牛间的关系可以用二叉树来表示.这些二叉树总共有N个节点(3 <= N < 200).这些二叉树有如下性质: 每一个节点的度是0或2.度是这个节点的孩子的数目. 树的高度等于K(1 < K < 100).高度是从

洛谷P2345 奶牛集会

题目背景 MooFest, 2004 Open 题目描述 约翰的N 头奶牛每年都会参加"哞哞大会".哞哞大会是奶牛界的盛事.集会上的活动很 多,比如堆干草,跨栅栏,摸牛仔的屁股等等.它们参加活动时会聚在一起,第i 头奶牛的坐标为Xi,没有两头奶牛的坐标是相同的.奶牛们的叫声很大,第i 头和第j 头奶牛交流,会发出max{Vi; Vj}×|Xi ? Xj | 的音量,其中Vi 和Vj 分别是第i 头和第j 头奶牛的听力.假设每对奶牛之间同时都在说话,请计算所有奶牛产生的音量之和是多少.

洛谷P1578 奶牛浴场

P1578 奶牛浴场 题目描述 由于John建造了牛场围栏,激起了奶牛的愤怒,奶牛的产奶量急剧减少.为了讨好奶牛,John决定在牛场中建造一个大型浴场.但是John的奶牛有一个奇怪的习惯,每头奶牛都必须在牛场中的一个固定的位置产奶,而奶牛显然不能在浴场中产奶,于是,John希望所建造的浴场不覆盖这些产奶点.这回,他又要求助于Clevow了.你还能帮助Clevow吗? John的牛场和规划的浴场都是矩形.浴场要完全位于牛场之内,并且浴场的轮廓要与牛场的轮廓平行或者重合.浴场不能覆盖任何产奶点,但是

洛谷——P1843 奶牛晒衣服

https://www.luogu.org/problem/show?pid=1843#sub 题目背景 熊大妈决定给每个牛宝宝都穿上可爱的婴儿装 . 于是 , 为牛宝宝洗晒衣 服就成了很不爽的事情. 题目描述 熊大妈请你帮助完成这个重任 . 洗完衣服后 , 你就要弄干衣服 . 衣服在 自然条件下用 1 的时间可以晒干 A 点湿度 . 抠门的熊大妈买了 1 台烘衣机 . 使用烘衣机可以让你用 1 的时间使 1 件衣服除了自然晒干 A 点湿度外,还 可以烘干 B 点湿度,但在 1 的时间内只能对

洛谷P1519 穿越栅栏 Overfencing

P1519 穿越栅栏 Overfencing 69通过 275提交 题目提供者该用户不存在 标签USACO 难度普及/提高- 提交  讨论  题解 最新讨论 USACO是100分,洛谷是20分 为什么只有十分 题目描述 描述 农夫John在外面的田野上搭建了一个巨大的用栅栏围成的迷宫.幸运的是,他在迷宫的边界上留出了两段栅栏作为迷宫的出口.更幸运的是,他所建造的迷宫是一个“完美的”迷宫:即你能从迷宫中的任意一点找到一条走出迷宫的路.给定迷宫的宽度W(1<=W<=38)及高度H(1<=H&