本文主要是介绍Nineteen,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
刚开始做这道题的时候,有思路,就是建造一个int 类型的数组,标记nineteen中的4个字母,但是忽略了一个问题,就是nineteen始字母和末字母都是n,所以末尾的n也可以作为始字母n,这样就是1个nineteen有3个n,2个有5个,3个有7个,所以(b[0]-1)/2就是最大的nineteen。
#include <iostream>
#include <cstring>
#include <cstdio>
#include <algorithm>
using namespace std;
int b[5];
int main()
{string a;while(cin>>a){memset(b,0,sizeof(b));int l=a.size();for(int i=0; i<l; i++){if(a[i]=='n')b[0]++;if(a[i]=='i')b[1]++;if(a[i]=='e')b[2]++;if(a[i]=='t')b[3]++;}b[0]=(b[0]-1)/2;//根据n的数量算出最多包含"nineteen"的数量b[2]/=3;sort(b,b+4);cout<<b[0]<<endl;}return 0;
}
这篇关于Nineteen的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!