當前位置:編程學習大全網 - 編程軟體 - C++編程,超時,請大神提供壹下處理方法

C++編程,超時,請大神提供壹下處理方法

#include?<iostream>

#include?<algorithm>

using?namespace?std;

void?GetVocab(string?vac,?const?string&?str,?int&?cnt,?int&?ps)

{

int?i?=?0,?pos;

int?len?=?str.size();

bool?isFirst?=?true;

transform(vac.begin(),?vac.end(),?vac.begin(),?::toupper);?

while(?i?<?len?)

{

//過濾空格?

while(?str[i]?==?'?'?)

++i;

//單詞

pos?=?i;

while(?i<len?&&?str[i]!='?'?)

++i;

//截取

string?t?=?str.substr(pos,?i-pos);

//統壹轉大寫?

transform(t.begin(),?t.end(),?t.begin(),?::toupper);

if(?vac?==?t?){

cnt++;

if(?isFirst?){

ps?=?pos;

isFirst?=?false;

}

}

//指向下壹非空字符?

++i;

}

}

int?main(?)?

{

string?vac,?str;

while(?getline(cin,?vac)?&&?getline(cin,?str)?)

{

int?cnt?=?0,?pos?=?0;

GetVocab(vac,?str,?cnt,?pos);

if(?cnt?==?0?){

cout?<<?"-1"?<<?endl;

}else{

cout?<<?cnt?<<?"?"?<<?pos?<<?endl;

}?

}

return?0;

}

  • 上一篇:works2編程時復制程序粘貼會換行怎麽辦
  • 下一篇:初學自制機器人小車
  • copyright 2024編程學習大全網