The first week match's mistake

2023-05-22,,

比赛中的补题中的一些错误

P8506 标题计数(https://www.luogu.com.cn/problem/P8506)

第一眼下去,嗯。。贪了,只读到一个‘#’后边跟一个空格就+1,结果wa几个了

老老实实一个个找

题目要求:找一级标题的个数

A的代码块:

int count = 0;
for (int i = 1; i <= n; i++) { //对所有读入的字符串进行检查
for (int j = 0; j < s[i].size(); j++) { //对每一个字符进行检查
if(s[i][j] == ' ')continue;//如果 ‘#’ 之前是空格就跳过
else if(s[i][j] == '#' && s[i][j+1] == ' ' ){ //如果是‘#’ 且后边跟着一个空格就继续往下检索
for (int k = j+2; k < s[i].size(); k++) {
if(s[i][k] == ' ')continue;
else {
count ++;
//找到一个非空格的字符就+1
break;//结束这个字符串的检索,开始下一个字符串的检索
}
}
break;
}else break;
}
}

在c++中读字符串(带空格的)用的getline(cin,存字符串的名字)个人认为更快些

c 的scanf("%[^\n]")也不错

The first week match's mistake的相关教程结束。

《The first week match's mistake.doc》

下载本文的Word格式文档,以方便收藏与打印。