网易互娱第一题A-Z

自测的时候,输出和测试样例一模一样,为什么还不通过?求大佬指点
#include<iostream>
#include<string>
using namespace std;

int main()
{
string str[100];
int T;
cin >> T;
for(int t=0;t<T;t++)
{
cin >> str[t];
}
int len;
int M=1;
int last;
for(int i=0;i<T;i++)
{
len=str[i].size();
if(len<=0 || len>50000)
break;
cout<<str[i][0];
for(int j=1;j<len;j++)
{
while(str[i][j]-str[i][j-1]==1)
{
j++;
M++;
}
if(M>=4)
{
cout<<"-"<<str[i][j-1];
M=1;
}
else if(M==2 || M==3)
{
for(int k=j-M+1;k<j;k++)
cout<<str[i][k];
M=1;
}
cout<<str[i][j];
}
cout<<endl;
}
}
#网易互娱##笔试题目##秋招##网易#
全部评论
#include <iostream> #include <vector> #include <algorithm> #include <string> using namespace std; int main() {  int n;  cin >> n;  string s;  vector<string> vecStr;  while (n)  {   cin >> s;   vecStr.push_back(s);   --n;  }    for (auto ss : vecStr)  {      int count = 0;      for (int i = 1; i < ss.size(); ++i)   {    if (ss[i] - ss[i - 1] == 1)    {     ++count;    }    if (ss[i] - ss[i - 1] != 1 && count < 3)    {     count = 0;    }    if (count >= 3 && (ss[i] - ss[i - 1] != 1 || i == ss.size() - 1))    {     if (i == ss.size() - 1 && ss[i] - ss[i - 1] == 1)     {      ss.replace(ss.begin() + i - count + 1,ss.begin() + i, 1, '-');     }     else     {      ss.replace(ss.begin() + i - count, ss.begin() + i - 1, 1, '-');      i = i - count + 2;      count = 0;     }    }   }   cout << ss << endl;  }  system("pause");  return 0; }
点赞 回复 分享
发布于 2018-09-09 09:33
这不很简单么, #include <iostream> #include <vector> #include <map> #include <stack> #include <algorithm> #include <sstream> using namespace std; struct Node{     int index;     int value; }; string process(string in){     int i=0;     int start = 0;     string res;     int ff;     while(i < in.size()){         ff = i;         while( ((i+1) < in.size()) && in[i+1] == (in[i]+1) ){             i++;         }         if( i - ff + 1 >= 4){             res+= in.substr(start, ff - start + 1) + "-";             start = i;         }         i++;     }     res+= in.substr(start, i - start);     cout << res << endl;     return res; } int main() {     int N;     cin >> N;     vector<string> in;     istringstream istr;     for( int i=0; i< N; i++ ){         string tmp;         cin>>tmp;         in.push_back(tmp);        process(tmp);     }      return 0; }
点赞 回复 分享
发布于 2018-09-08 22:20
从样例库第一个开始测试,卡在哪个就算%几,给出的例子可能在里面也可能不在
点赞 回复 分享
发布于 2018-09-08 21:59

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务