https://www.luogu.org/problemnew/show/P1184

(题目出处)

见到地名,自然就想到字符串了。可以从第一天开始,将她的位置与高手方便取得地方一一比较,(char字符串型可用strcmp(s1,s2):

当字符串s1<s2时,返回为负数;
当s1==s2时,返回值= 0;
当s1>s2时,返回正数。
即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止。)
(string型可直接用“==”比较,若相等,返回1,反之为0)
这里用string型。(wa了一次后)注意到一个地名中可能有空格,于是用string型的整行输入getline(cin,s1),即整行输入s1。
  注意getline有一个细节,即与cin连用的话要用cin.ignore()清除输入缓冲区的一个字符(或使用多次来清除多个字符),因为cin读到空格或回车后就会停止不读,但并不会清除这个字符。而这个字符如不清除,便会直接被getline读入。getline一读到回车(回车的表示视操作系统而定)就停止读入并把回车删除,故读到最后少读了一个数据(因为一开始的getline什么都没读到)。
(又wa了N次后)再就是因操作系统的不同导致的回车的表示不一样。Windows的回车为“\r\n”,Linux为“\n”,Mac为“\r”,而此题测试数据是由Windows生成、由Linux评测,即在Linux系统(评测系统)getline较Windows会多读入一个"\r"(ascll码为13),而第一个测试点的最后是没有回车的,即最后读入的地点较之前的地点名最后没有\r,故需要加特判(终于能过这个诡异的题了)
上代码!
  #include<cstdio>
#include<iostream>
using namespace std;
string g[],luo[];
int main()
{
int m,n,total=;
cin>>n>>m;
cin.ignore().ignore();
for(int i=;i<=n;i++)
{
getline(cin,g[i]);
}
for(int i=;i<=m;++i)
{
getline(cin,luo[i]);
if(luo[i][luo[i].length()-]!=) luo[i]+=char();
for(int j=;j<=n;j++)
{if(luo[i]==g[j]){total++;break;}}
}
cout<<total;
return ;
}

课后巩固:https://blog.csdn.net/qq_38171115/article/details/70855325(strcmp函数的使用)

 https://www.cnblogs.com/ymd12103410/p/9514896.html(getline使用)
https://blog.csdn.net/wxbmelisky/article/details/48596881(cin.ignore()使用)
最后再了解一下不同系统回车与换行的表示吧。
扩展:https://www.cnblogs.com/xiaotiannet/p/3510586.html(回车换行辨析)

题解-洛谷P1184 高手之在一起的更多相关文章

  1. 洛谷 P1184高手之在一起 题解

    题目传送门 那位高手是谁啊?@jxpxcsh  QWQ. 这道题数据特别水,所以直接使用O(n*m),每读进一个m内的字符串,就扫一遍n的字符串.但注意地点字符串中有可能会有空格,所以这时候就要请出g ...

  2. 洛谷P1294 高手去散步

    洛谷1294 高手去散步 题目背景 高手最近谈恋爱了.不过是单相思.“即使是单相思,也是完整的爱情”,高手从未放弃对它的追求.今天,这个阳光明媚的早晨,太阳从西边缓缓升起.于是它找到高手,希望在晨读开 ...

  3. 题解 洛谷P5018【对称二叉树】(noip2018T4)

    \(noip2018\) \(T4\)题解 其实呢,我是觉得这题比\(T3\)水到不知道哪里去了 毕竟我比较菜,不大会\(dp\) 好了开始讲正事 这题其实考察的其实就是选手对D(大)F(法)S(师) ...

  4. 题解 洛谷 P3396 【哈希冲突】(根号分治)

    根号分治 前言 本题是一道讲解根号分治思想的论文题(然鹅我并没有找到论文),正 如论文中所说,根号算法--不仅是分块,根号分治利用的思想和分块像 似却又不同,某一篇洛谷日报中说过,分块算法实质上是一种 ...

  5. 题解-洛谷P5410 【模板】扩展 KMP(Z 函数)

    题面 洛谷P5410 [模板]扩展 KMP(Z 函数) 给定两个字符串 \(a,b\),要求出两个数组:\(b\) 的 \(z\) 函数数组 \(z\).\(b\) 与 \(a\) 的每一个后缀的 L ...

  6. 题解-洛谷P4229 某位歌姬的故事

    题面 洛谷P4229 某位歌姬的故事 \(T\) 组测试数据.有 \(n\) 个音节,每个音节 \(h_i\in[1,A]\),还有 \(m\) 个限制 \((l_i,r_i,g_i)\) 表示 \( ...

  7. 题解-洛谷P4724 【模板】三维凸包

    洛谷P4724 [模板]三维凸包 给出空间中 \(n\) 个点 \(p_i\),求凸包表面积. 数据范围:\(1\le n\le 2000\). 这篇题解因为是世界上最逊的人写的,所以也会有求凸包体积 ...

  8. 题解-洛谷P4859 已经没有什么好害怕的了

    洛谷P4859 已经没有什么好害怕的了 给定 \(n\) 和 \(k\),\(n\) 个糖果能量 \(a_i\) 和 \(n\) 个药片能量 \(b_i\),每个 \(a_i\) 和 \(b_i\) ...

  9. 题解-洛谷P5217 贫穷

    洛谷P5217 贫穷 给定长度为 \(n\) 的初始文本 \(s\),有 \(m\) 个如下操作: \(\texttt{I x c}\),在第 \(x\) 个字母后面插入一个 \(c\). \(\te ...

随机推荐

  1. mssql sqlserver获取指定月份当月天数总和

    摘要: 下文通过sql函数的形式,获取指定月份的总天数 实验环境:sqlserver 2008 R2 制作思路: 1. 获取指定月份的第一天, 2. 并采用dateadd向后加一个月形成一个新的日期 ...

  2. serversql数据库的查询操作

    sql数据库 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !importan ...

  3. PostgreSql 查询表结构和说明

    select (select relname from pg_class where oid=a.attrelid) relname , () as comment from pg_class whe ...

  4. SQLServer之PRIMARY KEY约束

    PRIMARY KEY约束添加规则 1.在表中常有一列或多列的组合,其值能唯一标识表中的每一行,这样的一列或多列成为表的主键(PrimaryKey). 2.一个表只能有一个主键,而且主键约束中的列不能 ...

  5. Extjs 改变grid行的背景颜色

    ## Ext grid 改变行背景色 Ext.util.CSS.createStyleSheet('.ts {background:#9a9a9bc2;}');//单独创建css样式 { xtype: ...

  6. React.js开发的基本配置(配了两天)

    记录下心酸的过程: 1.安装npm 安装node.js,这时候你就可以使用npm了. 因为官方的源下载npm的包比较慢,所以可以用淘宝的源,这时候使用nrm来进行npm源的切换 在cmd中执行 npm ...

  7. HTMLCSS--案例| 超链接美化 | 模态框 | tab栏选项卡

    一.超链接美化 二.模态框 三.tab栏选项卡 -------------------------------------------- 一.超链接美化 <!DOCTYPE html> & ...

  8. Vue SSR: 基本用法 (二)

    上一篇讲解了ssr的原理,这篇主要讲基本用法: 1.安装 npm install vue vue-server-renderer --save 我们将在整个指南中使用 NPM,但你也可以使用 Yarn ...

  9. 【转】VUE 爬坑之旅-- 如何对公共JS,CSS进行统一管理,全局调用

    原文:https://blog.csdn.net/zgh0711/article/details/78664262 vue 中,将页面分为了各个组件,我们写好组件,就可以将这个组件运用到其他各个页面中 ...

  10. springBoot集成redisCluster

    本文主要内容:springBoot简介,在SpringBoot中如何集成Redis,可配置Redis集群. 关于SpringBoot 你想要的,这里都有:https://spring.io/proje ...