BNU10804:域名统计

域名(Domain Name),是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置),目前域名已经成为 互联网的品牌、网上商标保护必备的产品之一。
 
Internet地址中的一项,如假设的一个地址与 互联网协议( IP)地址相对应的一串容易记忆的字符,由若干个从a到z的26个拉丁字母及0到9的10个阿拉伯数字及“-”、“.”符号构成并按一定的层次和逻辑排列。
  域名级数是指一个域名由多少级组成,域名的各个级别被“.”分开,简而言之,有多少个点就是几级域名。
  一级域名(即顶级域名)有一个点
“一级域名”就是在“com net org”前加一级,如XXX.XXX
 
  现在不差钱tyg湿胸拥有n个顶级域名,现在他想知道这n个域名中以.com结尾且除去“.com”后长度不超过m的顶级域名有多少个,但是由于n实在太大了他实在数不出来有多少个,现在请求会编程的你帮他解决这个问题。

Input

       输入数据第一行有两个整数n, m(0<n<=10 5,0<m<=100)组成。接下来有n行每行表示一个域名。每个域名总长度不超过100且是一个符合规则的顶级域名。

Output

       输出数据只包含一行,输出满足条件的域名个数。

Sample Input

5 4
baidu.com
sohu.com
google.com
renren.com
163.cn

Sample Output

1
 
只要去掉.com统计长度即可
 
#include <stdio.h>
#include <algorithm>
#include <string.h>
using namespace std;

char str[105];

int main()
{
    int n,m,cnt,i,len;
    while(~scanf("%d%d",&n,&m))
    {
        cnt = 0;
        for(i = 0; i<n; i++)
        {
            scanf("%s",str);
            len = strlen(str);
            if(str[len-1] == 'm' && str[len-2] == 'o' && str[len-3] == 'c' && str[len-4]=='.' )
            {
                str[len-4] = '\0';
                len-=4;
                if(len<=m)
                    cnt++;
            }
        }
        printf("%d\n",cnt);
    }

    return 0;
}

你可能感兴趣的:(水,BNU)