The first week match's mistake

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

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]")也不错

posted @ 2023-01-08 14:59  TFOREVERY  阅读(18)  评论(0编辑  收藏  举报