即使程序正确编译,我也没有得到输出,我正在使用c ++ 14

时间:2019-12-08 12:47:53

标签: c++ syntax output syntax-error runtime-error

#include <bits/stdc++.h>
using namespace std;

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    int t;
    cin>>t;
    while(t--){
      long int n,k=0,max; string str;
      cin>>n;
      cin>>str;
      set<pair<long int,long int>> v;
      cout<<"hi";
      for(long int i=0; i<n; i++){
        long int l,h=-1;
        l=i;
        for(long int j=n-1; j>i; j--){
          if(str[j]==str[i]&&h==-1) h=j;
          else if(str[j]==str[i]&&h!=-1&&l==i) l=j;
        }
        if(h!=-1) v.insert(make_pair(l,h));
      }
      for (auto x : v) {
          cout << "(" << x.first << ", "
               << x.second << ")"
               << " ";
      }
    }
  }

以上是我的初始代码。这样可以正确编译并显示输出。

  k += (*v.begin()).first;
  cout<<"k = "<<k<<"\n";
  max = (*v.begin()).second;
  for (auto x : v) {if(x.second>max) max = x.second;}
  k += n-1-max;
  set<pair<long int,long int>>::iterator prev = v.begin(),it;
  while(it != v.end()) {
    if(it==v.begin()) continue;
    long int mid = (*it).first-(*prev).second-1;
    if(mid>0) k += mid;
    prev = it;
  }
  cout<<"The final k = "<<k<<"\n";

但是当我添加此代码段时。该程序已编译,但输入输入后未显示输出。

输入格式:

1(无测试用例)

10(您要输入的字符串的大小)

xxxxabbbba(输入您的字符串)

0 个答案:

没有答案