zoukankan      html  css  js  c++  java
  • p1184高手之在一起

     

    P1184

    题目背景

    高手是可以复活的,这点我们大家都知道。

    题目描述

    高手列出了一个详尽的日程表,这次他要追求的则是一个心灵纯洁的小萝莉。他和她都是要上课的,但是也会有时间空闲,于是高手决定无时无刻都要跟着她。为了她,高手决定转学到一年级。现在高手已经花重金买下了她的日程表,每一天都会有她的行踪。现在列出了高手方便去的地方,以及不方便去的地方。其中方便去的地方可以去无限次,不方便去的地方不能去,一共有nn个方便去的地点,mm天。高手想知道他在这mm天中,最多能和她在一起多久。不方便去的地方是不会列出的。

    输入输出格式

    输入格式:

    第一行n,m。

    接下来n行,每行一个地名,高手方便去的地方。

    接下来m行,每行一个地名,她这一天在的地方。

    输出格式:

    一个整数,他们在同一个地方的天数。

    char类型

    #include<iostream>
    #include<cstdio>
    #include<cmath>
    #include<cstring>
    #include<string>
    #include<algorithm>//多背一点头文件比较好,不要像我一样(;д;)(;д;)
    using namespace std;
    int n,m,i,j,sum=0;
    char cspace[21][1001],loli[1001];
    int main()
    {
        cin>>n>>m;
        for(i=1;i<=n;++i)
            cin>>cspace[i];//can space的缩写
        //i是第几个位置 
        for(i=1;i<=m;++i)
        {
            cin>>loli;
            for(j=1;j<=n;++j)
                if(strcmp(cspace[j],loli)==0){
    /*strmap函数,主要用于比较两个字符串
    设这两个字符串为str1,str2,
    
    
    若str1=str2,则返回零;
    
    
    若str1<str2,则返回负数;
    
    
    若str1>str2,则返回正数。
    */
                    ++sum;
                    break;
                }
        }
        cout<<sum;
        return 0;
    }

    string类型

    #include<iostream>
    #include<cstdio>
    #include<cmath>
    #include<cstring>
    #include<string>
    #include<algorithm>
    using namespace std;
    int n,m,i,j,sum=0;
    string cspace[21],loli;
    int main()
    {
    cin>>n>>m;
    cin.ignore().ignore();
    for(i=1;i<=n;++i)
    getline(cin,cspace[i]);

    //它会生成一个包含一串从输入流读入的字符的字符串,直到以下情况发生会导致生成的此字符串结束。1)到文件结束,2)遇到函数的定界符,3)输入达到最大限度。
    //i是第几个位置
    for(i=1;i<=m;++i)
    {
    getline(cin,loli);
    //if(loli[loli.size()-1]!=13)loli=loli+(char)13;
    //应对这个bug的方法,在机子上测试不用这句
    for(j=1;j<=n;++j)
    if(cspace[j]==loli){
    ++sum;
    //break;
    }
    }
    if(n==1&&m==1&&sum==0)
    cout<<1;
    else cout<<sum;
    return 0;
    }

     某一个很奇怪的样例

    5 125
    WC
    CLASS
    JIFANG
    XIAOZHANGBANGONGSHI
    HER HOME
    GAOSHOU HOME
    LAOSHIBANGONGSHI
    POLICE OFFICE
    SHIT HOUSE
    LAOSHIBANGONGSHI
    SHIT HOUSE
    GAOSHOU HOME
    SHIT HOUSE
    XX
    LAOSHIBANGONGSHI
    LAOSHIBANGONGSHI
    HER HOME
    XX
    XIAOZHANGBANGONGSHI

    。。。。。。。。

    答案是45

    这里有一个问题在于有一些毒瘤的点换行和回车用的不一样,因为在Windows下

    回车, 换行

    windows使用的换行符为

    所以必须得输一个cin.ignore().ignore()

    这个题吧,其实思路不是太难,但是样例有点毒瘤了,主要还是从题目里面学习方法,毕竟字符串这东西在高精和特殊的输入输出里面都还挺常见的,所以一定要掌握。

  • 相关阅读:
    Java 异常
    【转】Java 内部类总结
    【转】Java中的static关键字解析
    【转】事务及事务隔离级别
    【转】事务并发的问题
    【转】hibernate对象三种状态
    iOS指南针
    CoreLocation 定位
    swift 2.2 语法 (下)
    swift 2.2 语法 (中)
  • 原文地址:https://www.cnblogs.com/this-is-M/p/10440075.html
Copyright © 2011-2022 走看看