2 条题解

  • 2
    @ 2026-1-29 15:40:26
    #include<bits/stdc++.h>
    using namespace std;
    const int N=1e5+10;
    const int INF=0x3f3f3f3f;
    int n,a[N];
    void Accepted( int x , int a[] , int & len )//Accepted()
    {
        len = 0;
        while ( x != 0 )
    	{
            a[++len] = x % 7;
            x /= 7;
        }
    }
    int WrongAnswer(int x,int y){
    	int a[7],b[7],c[7],len1,len2,len;
        memset(a,0,sizeof(a));
        memset(b,0,sizeof(b));
        memset(c,0,sizeof(c));
        Accepted(x,a,len1);
        Accepted(y,b,len2);
        len=max(len1,len2);
        for(int i=1;i<=len;i++){
            if(a[i]!=b[i])c[i]=1;
        }
        int n=0;
        for(int i=len;i>=1;i--){
            n=n*2+c[i];
        }
        return n;
    }
    int main()
    {
    	int end;
    	cin >> n;
    	for(int i=1;i<=n;i++)
    	{
    		cin >> a[i];
    	}
    	for(int i=1;i<n;i++){
            for(int j=i+1;j<=n;j++){
                int v=WrongAnswer(a[i],a[j]);
                if(abs(v-123)<abs(end-123)){
                    end=v;
                }
                if(end==v&&v<end){
                    end=v;
                }
            }
        }
        cout<<end;
    	return 0;
    }
    //老登布置的作业系列
    
    
    

    it so long

    信息

    ID
    2513
    时间
    1000ms
    内存
    256MiB
    难度
    7
    标签
    递交数
    114
    已通过
    29
    上传者