2 条题解

  • 0
    @ 2022-07-29 15:30:05

    #include<bits/stdc++.h>
    using namespace std;
    int main()
    {
    int n;cin>>n;int a[n+1];for(int i=1;i<=n;i++)cin>>a[i];
    int minv=3;
    for(int i=1;i<=n;i++)for(int j=i+1;j<=n;j++)if(abs(a[j]-a[i])%2==0) minv=min(minv,abs(a[j]-a[i])/2);
    cout<<minv<<endl;
    }

  • 0
    @ 2021-04-18 16:28:58

    C 黑板上的数(1)题解:
    如果存在两个数相等,答案为0
    如果存在两个数相差2,则答案为1
    如果存在两个数相差4,则答案为2
    否则,答案为3,构造方法:任意X -> X-2 X+2 -> X-4 X X+2 -> X-4 X-2 X+2 X+2
    需要三步。
    本题有O(n)的做法(哈希表)
    不过对于本题的数据,最简单的一定是两重循环:
    Code:

    #include<bits/stdc++.h>
    using namespace std;
    int main()
    {
        int n;cin>>n;int a[n+1];for(int i=1;i<=n;i++)cin>>a[i];
        int minv=3;
        for(int i=1;i<=n;i++)for(int j=i+1;j<=n;j++)if(abs(a[j]-a[i])%2==0) minv=min(minv,abs(a[j]-a[i])/2);
        cout<<minv<<endl;
    }
    
  • 1

信息

ID
1238
难度
6
分类
(无)
标签
递交数
26
已通过
10
通过率
38%
被复制
4
上传者