p1373

  先输入每个牛的编号,然后思考什么时候会有两个编号模k后会是同一个数?    那就是这两个数的差刚好为k的倍数。

  那这题就能做了,求出所有编号之间的差,这些数的因子都不能做k了。最后跑一遍bool数组,只要为0就能用。

using namespace std;
int i,f,o[5000],n;
bool flag[1000010];
int main()
{
ios::sync_with_stdio(false);
//freopen("123.in","r",stdin);
    cin>>n;
    for(i=1;i<=n;i++)
    {
        cin>>o[i];
        for(f=1;f<i;f++)
            flag[abs(o[i]-o[f])]=1;
    }
    for(i=n;i<=1000000;i++)//好歹要有n个床吧?
        if(flag[i]==0)
        {
            cout<<i;
            return 0;
        }
}
[]~( ̄▽ ̄)~*

   然后就并没有处理出因子,只把差对应的flag改了,结果还是对了???不懂,可能数据又水了?

  就是这个样子:

猜你喜欢

转载自www.cnblogs.com/qywyt/p/9032253.html