codeforce393A
2023-03-14 10:26:37 时间
#include<string> #include<iostream> #include<algorithm> using namespace std; int main() { string a,b; int n,i,e,t,flag; while(cin>>a) { n=i=e=t=flag=0; for(int j=0; j<=a.length(); j++) { if(a[j]=='n') n++; else if(a[j]=='t') t++; else if(a[j]=='e') e++; else if(a[j]=='i') i++; } int min=i; if(i==0||t==0||e/3==0||n/3==0) { cout<<0<<endl; break; } if(t<min) min=t; if(e/3<min) min=e/3; if(n/3<min) flag=1; if(flag==1) cout<<(n-3)/2+1<<endl; else cout<<min<<endl; } return 0; }找规律:计算出 n , i , e , t 出现的次数,然后找出n/3 , i , e/3 , t 中最小的并输出,如果最小的是n/3那么输出(n+3)/2+1。(因为n可以是一个单词的结尾和另一个单词的开头)