zoukankan      html  css  js  c++  java
  • Cf393A

    /*
    D - Nineteen
    Time Limit:1000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u
    Submit
     
    Status
     
    Practice
     
    CodeForces 393A
    Description
    Alice likes word "nineteen" very much. She has a string s and wants the string to contain as many such words as possible. For that reason she can rearrange the letters of the string.
    
    For example, if she has string "xiineteenppnnnewtnee", she can get string "xnineteenppnineteenw", containing (the occurrences marked) two such words. More formally, word "nineteen" occurs in the string the number of times you can read it starting from some letter of the string. Of course, you shouldn't skip letters.
    
    Help her to find the maximum number of "nineteen"s that she can get in her string.
    
    Input
    The first line contains a non-empty string s, consisting only of lowercase English letters. The length of string s doesn't exceed 100.
    
    Output
    Print a single integer — the maximum number of "nineteen"s that she can get in her string.
    
    Sample Input
    Input
    nniinneetteeeenn
    Output
    2
    Input
    nneteenabcnneteenabcnneteenabcnneteenabcnneteenabcii
    Output
    2
    Input
    nineteenineteen
    Output
    2
    By Grant Yuan
    2014.7.11*/
    #include<iostream>
    #include<stdio.h>
    
    #include<stdlib.h>
    #include<string.h>
    using namespace std;
    char a[102];
    char b[4]={'n','i','e','t'};
    int c[4];
    int main()
    {
       memset(c,0,sizeof(c));
       cin>>a;
       int l,t;
       l=strlen(a);
       //cout<<l<<endl;
       for(int i=0;i<l;i++)
          for(int j=0;j<4;j++)
            if(a[i]==b[j])
              c[j]++;
              //c[0]=c[0]/3;
              c[2]=c[2]/3;
        int min=c[0];
        for(int i=0;i<4;i++)
          if(c[i]<min)
            min=c[i];
           /* if(min==1)
               if(c[0]<3) min=0;
            else {if(min>1)
               //if(c[0]<3+(min-1))
               t=(c[0]-3)/2;
        if(t<min) min=t;}*/
        int j;
        if(min>0)
          if(c[0]<1+2*min){
             for(j=min;j>0;j--)
                {if(c[0]>=1+2*j)
                   break;}
                   min=j;}
        cout<<min<<endl;
        return 0;
    }
    


  • 相关阅读:
    IDEA运行测试错误Failed to resolve org.junit.platform:junit-platform-launcher
    mysql索引基本原理
    as3.0声音波形系列03_十组合
    as3.0声音波形系列02_六组合
    as3.0声音波形系列01_八组合
    FiltersEffect(效果)
    AS3 TransitionManager 自带特效类
    as3 判断鼠标移动方向
    AS3代码生成xml方法
    求线段的交点
  • 原文地址:https://www.cnblogs.com/codeyuan/p/4254535.html
Copyright © 2011-2022 走看看