奶牛卧室
奶牛卧室
| Time Limit: 5000MS | Memory Limit: 65535KB |
| Submissions: 157 | Accepted: 19 |
Sample Input
5 4 6 9 10 13
Sample Output
8
解析:
大致题意:就是用nCow个奶牛的编号对k取模,求使各不相同的最小k
大致思路:很明显,这个k一定是nCow<=k<=T(T为最大的sign[i]);这里直接可以想到的方法就是用vis数组做记录,如下代码:
/*for(i=nCow;;i++)
{
for(j=0;j<nCow;j++)
vis[sign[j]%i]=0;
for(j=0;j<nCow;j++)
{
if(!vis[sign[j]%i])//如果同一个模出现了两次,那这个i就一定不能用
vis[sign[j]%i]=1;
else break;
}
if(j==nCow)
{
printf("%d\n",i);
break;
}
}*/
但这个代码的时间复杂度并没用那么理想,那就在分析一下,如果存在sign[i]%k=sign[j]%k,那么就一定有(sign[i]-sign[j])%k=0;
浙公网安备 33010602011771号