1 solutions

  • 0
    @ 2025-3-3 16:21:27

    C++ :

    #include<bits/stdc++.h>
    using namespace std;
    //三维数组 
    char a[51][6][8]; 
    int b[51][51];
    int main(){
        int n,i,j,k,c,oi,oj;
        cin>>n;
        for(k=1;k<=n;k++)
        {
            for(i=1;i<=5;i++)
            {
                for(j=1;j<=7;j++)
                {
                    cin>>a[k][i][j];
                }   
            }   
        } 
        for(i=1;i<=n;i++)
        {
            for(j=i;j<=n;j++)
            {
                if(i==j) continue;
                c = 0; //第i头 与 第j头 
                for(oi=1;oi<=5;oi++)
                {
                    for(oj=1;oj<=7;oj++)
                    {
                        if(a[i][oi][oj] == a[j][oi][oj])
                        {
                            c++;
                        }
                    }   
                } 
                //记录 i与j相似度c 
                b[i][j] = c;
                b[j][i] = c; 
            }
        }
        //求b数组最大数的位置
        int x,y,mx=INT_MIN;
        for(i=1;i<=n;i++)
        {
            for(j=i;j<=n;j++)
            {
                if(i==j) continue;
                //比较最大数 
                if(b[i][j] > mx)
                {
                    mx = b[i][j];
                    x = i;
                    y = j;
                }
            }   
        } 
        cout<<x<<" "<<y;
        return 0;
    }
     
    
    • 1

    Information

    ID
    9960
    Time
    1000ms
    Memory
    128MiB
    Difficulty
    (None)
    Tags
    # Submissions
    0
    Accepted
    0
    Uploaded By