ueimikiambnhuefborlyoo

ueimikiambnhuefborlyoo

给您一个字符串数组,后跟两个单词。必须找到给定字符串数组中两个单词之间的最小距离
例如:
(“快速”,“棕色”,“狐狸”,“快速”)
距离(“fox”,“the”)=3
距离(“quick”,“fox”)=1
为什么这段代码在下面给出的测试用例中失败了?是吗?

#include<iostream>
#include<string>
#include<bits/stdc++.h>

using namespace std;

int search(vector<string>v,string s1)
{
    for(int i=0;i<v.size();i++)
    {
        if(v[i]==s1)
        {
            return i;
        }
    }
    return -1;
}

int main()
{
    int t;
    cin>>t;
    while(t--)
    {
        int n;
        cin >> n;
        vector<string> v;
        for(int i = 0; i < n; ++i)
        {
            string a;
            cin >> a;
            v.push_back(a);

        }
        string s1;
        cin >> s1;
        string s2;
        cin >> s2;
        int p, y;
        p = search(v, s1);
        y = search(v, s2);
        int d = abs(p-y);
        cout<<d<<endl;
    }
    return 0;
}

回答错误!!!回答错误
可能您的代码在多个测试用例(TCs)中无法正常工作。
代码失败的第一个测试用例:
输入:
五十二
rbkiruxixlqpjkbcdctwvsogiurmicjafuiwrhhqsyiflkjqodomwfvhanvirgjydtyudgnyhweujpmxtdmsiickxyvrffri rbkiruxixlqpjkbcdctwvsogiurmicjafuiwrhhqsyiflkjqodomwfvhanvirgjydtyudgnyhweujpmxtdmsiickxyvrffri ffyvehskceaqevtqqectpasluasmkvdpbelhlgtqkw ffyvehskceaqevtqqectpasluasmkvdpbelhlgtqkw ffyvehskceaqevtqqectpasluasmkvdpbelhlgtqkw 变相世界qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqRckknhuefborlyoo公司Ueimikiamambnhdivnfbfigtqkrcknhuefborlyao ueimikiambnhdivnfbfigtqkrcknhuefborlyao ueimikiambnhiffigtqrckkhuefborlyao ueimikiambnhiffigtqrckkhuefborlyao ueimikiambnhiffigtqrckkhuefborlyao ueimikiambnhuefborlyoo ueimikiambnhuefborlyoo ueimikiambnhifffbfigtqrckkhuefborlyao ueimikiambnhifffbfigtqrckkhueforlyooUeimikiamambnhdivnfbfigtqkrcknhuefborlyao ueimikiambnhdivnfbfigtqkrcknhuefborlyao ueimikiambnhiffigtqrckkhuefborlyao ueimikiambnhiffigtqrckkhuefborlyao ueimikiambnhiffigtqrckkhuefborlyao ueimikiambnhuefborlyoo ueimikiambnhuefborlyoo ueimikiambnhifffbfigtqrckkhuefborlyao ueimikiambnhifffbfigtqrckkhueforlyooUeimikiamambnhdivnfbfigtqkrcknhuefborlyao ueimikiambnhdivnfbfigtqkrcknhuefborlyao ueimikiambnhiffigtqrckkhuefborlyao ueimikiambnhiffigtqrckkhuefborlyao ueimikiambnhiffigtqrckkhuefborlyao ueimikiambnhuefborlyoo ueimikiambnhuefborlyoo ueimikiambnhifffbfigtqrckkhuefborlyao ueimikiambnhifffbfigtqrckkhueforlyooUeimikiamambnhdivnfbfigtqkrcknhuefborlyao ueimikiambnhdivnfbfigtqkrcknhuefborlyao ueimikiambnhiffigtqrckkhuefborlyao ueimikiambnhiffigtqrckkhuefborlyao ueimikiambnhiffigtqrckkhuefborlyao ueimikiambnhuefborlyoo ueimikiambnhuefborlyoo ueimikiambnhifffbfigtqrckkhuefborlyao ueimikiambnhifffbfigtqrckkhueforlyoo中国人民银行是世界上最重要的国家,是世界上最重要的国家,是世界上最重要的国家,是世界上最重要的国家,是世界上最重要的国家,是世界上最重要的国家,是世界上最重要的国家,是世界上最重要的国家,是世界上最重要的国家,是世界上最重要的国家,是世界上最重要的国家,是世界上最重要的国家,是世界上最重要的国家,是世界上最重要的国家,是世界上最重要的国家,是世界上最重要的国家,是世界上最重要的国家,是世界上最重要的国家,是世界上最重要的国家,是世界上最重要的国家,是世界上最重要的国家,是世界上最重要的国家,是世界上最重要的国家,是世界上最重要的国家,是世界上最重要的upuwqwvqwqtvqpytysnojdln公司
我想说什么
其正确输出是:
十一
代码的输出是:
德意志北方银行

最佳答案

您的代码没有处理输入数组中的重复字符串。
对于eg,如果输入数组["ghi", "abc", "abc", "abc", "ghi", "def", "ghi", "def"]
那么“abc”和“def”之间的最小距离应该是:2(在index35之间),但是您的代码将输出:4

09-16 20:24