TopCoder的一个算法题: HowEasy。
对C++的标准库不熟悉,居然一个系统函数也没用....
75.01分
#include <string>
using namespace std;
class HowEasy
{
public:
int pointVal(string param0)
{int i=0, wordNum=0, tolLeng=0, st=0, wordLeng=0;
for(;param0[i-1]!='\0'|| param0[i]!='\0';i++)
{
if(wordLeng==0 && !( ( (param0[i]>='a') && (param0[i]<='z') )|| ((param0[i]>='A') && (param0[i]<='Z') ) || param0[i]==' ' )) //Determin if the word is not start from a alpha word
{
st=1;
}
else if(!st && ( ( (param0[i]>='a') && (param0[i]<='z') )||( (param0[i]>='A') && (param0[i]<='Z') ) ) )//Determin whether current charater is part of word
{
++wordLeng;
++tolLeng;
}
else if(( param0[i]==0 || (param0[i]=='.'&&(param0[i+1]==' ' ||param0[i+1]=='\0')) || param0[i]==' ' ) ) //Determin if its the end of Token
{
if(!st && wordLeng!=0) //Determin if its the end of word
{
wordLeng=0;
wordNum++;
}
st=0;
}
}
if(wordNum == 0)
{
return(0);
}
if (tolLeng/wordNum <4)
{
return (250);
}
if (tolLeng/wordNum <6)
{
return(500);
}
return (1000);
}
};