当前位置:   article > 正文

牛客ACM模式学习记录_牛客 acm模式 树

牛客 acm模式 树

提示:牛客OJACM模式练习记录,记录犯错的地方


前言

HJ1、字符串最后一个单词的长度

犯错点:题目要求的是输入一行,所以使用getline来获取一行字符串,而不是cin获取单个字符串;因为此cin使用==空白(空格、制表符、换行符)==来确定字符串的结束位置,所以在当前题意下只能得到一个单词

#include <iostream>
#include <string>
using namespace std;
int main(){
   
    string str;
    getline(cin, str); // 将一行的数据 赋值给str 字符串
    int n = str.size();
    int i = n - 1;
    for(; i >= 0 && str[i] != ' '; i--);
    cout << n - i - 1 << endl;

	/* 其他思路 */
	string s;
	while(cin >> s);
	cout << s.size();
    return 0;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

HJ17、坐标移动

题目
写了个很繁琐的代码,但能AC;下次看下题解将代码精简

#include <string>
#include <iostream>
#include <algorithm>
using namespace std;

bool isvalid(string tmp){
   
    if(tmp.size() > 3)
        return false;
    if(tmp.size() <= 1)
        return false;
    if(tmp.size() == 2){
   
        if((tmp[0] == 'A' || tmp[0] == 'D' || 
           tmp[0] == 'W' || tmp[0] == 'S'))
            if(isdigit(tmp[1]))
                return true;
    }
    if(tmp.size() == 3){
   
        if((tmp[0] == 'A' || tmp[0] == 'D' || 
           tmp[0] == 'W' || tmp[0] == 'S'))
            if(isdigit(tmp[1]) && isdigit<
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/419012
推荐阅读
相关标签
  

闽ICP备14008679号