首页 新闻 会员 周边 捐助

有没有谁有更好的方法来做<<奶牛卧室>>的方法 用C语言做 除了用指针之外的方法

0
悬赏园豆:15 [已解决问题] 解决于 2013-11-29 14:15

【问题描述】

奶牛们有一个习惯,那就是根据自己的编号选择床号。如果一头奶牛编号是a,并且有0..k-1一共k张床,那么她就会选择a  mod  k号床作为她睡觉的地点。显然,2头牛不能睡在一张床上。那么给出一些奶牛的编号,请你为她们准备一间卧室,使得里面的床的个数最少。

【输入文件】

第一行是奶牛的个数n(1<=n<=5000);第2到第n+1行是每头奶牛的编号

Si(1<=Si<=100 0000)。

【输出文件】

仅一行,是最少的床的数目。

【输入样例】

5

4

6

9

10

13

【输出样例】

8

我的代码如下:可惜超时了

# include<iostream>
using namespace std;
int main()
{
 int i,n,a,t,b,j,g,x[1000],y[1000];
 cin>>n;
 for(i=0;i<n;i++)
  cin>>x[i];
 for(j=n;j;j++)
 {
  g=0;
  for(i=0;i<n;i++)
  {
   y[i]=x[i]%j;
  }
  for(a=1;a<n;a++)
  for(b=0;b<n-1;b++)
   if(y[b]>y[b+1])
   {
                 t=y[b];
     y[b]=y[b+1];
     y[b+1]=t;
   }
   for(b=0;b<n;b++)
    if(y[b+1]!=y[b])
     g++;
   if(g==n)
    break;
 }
 cout<<j<<endl;
return 0;
}

hanqiu的主页 hanqiu | 初学一级 | 园豆:191
提问于:2013-11-25 10:46
< >
分享
最佳答案
1

有题目链接吗?

刚看到一个题解:http://lilongfei1030.blog.163.com/blog/static/860152820086319658765/

//////////////////////////////////////////////////////////////////////////

这个题貌似有bug,很多通过的代码都没有考虑差的因子,如果考虑目前看到的题解都会超时的

收获园豆:15
努力变瘦 | 菜鸟二级 |园豆:243 | 2013-11-28 18:42

http://acm.swust.edu.cn/oj/problem/91/

就是这个吧  可以帮我看看吗 谢谢  我的那个超时了 看来思路不够优秀

hanqiu | 园豆:191 (初学一级) | 2013-11-28 20:28
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册