2 条题解

  • -1
    @ 2024-9-16 20:53:40

    STL 题解

    思路

    模拟即可。

    解题方法

    有一种东西,它叫 STL。有一种方法,它叫 string,有一种函数,它叫 find()。

    find(const string s) 函数可以在字符串当中找到 s 第一次出现的位置,没有出现则返回 1-1

    只需要处理好大小写就可以了。

    复杂度

    时间复杂度:

    O(n+m)O(n + m)

    空间复杂度:

    O(n+m)O(n + m)

    Code

    
    #include <bits/stdc++.h>
    using namespace std;
    string s,t,q,p;
    
    int main(){
    	cin >> s >> t;
    	int n = s.length(),m = t.length();
    	q = s,p = t;// q 和 p 分别存储他们没有转换下的原始字符串。
    	for(int i = 0;i < n;i++){
    		if(s[i] <= 'Z' && s[i] >= 'A') s[i] += 32;
    	}
    	for(int i = 0;i < m;i++){
    		if(t[i] <= 'Z' && t[i] >= 'A') t[i] += 32;
    	}
        // x 代表 S 是否出现 rioi , y 代表 T 是否出现 rioi
    	bool x = (s.find("rioi") == -1 ? 0 : 1),y = (t.find("rioi") == -1 ? 0 : 1);
    	if(x && y){
    		cout << "Either is ok!\n";
    	}else if(!x && !y){
    		cout << "Try again!\n";
    	}else if(x){
    		cout << q << " for sure!\n";
    	}else{
    		cout << p << " for sure!\n";
    	}
    	return 0;
    }
    

    信息

    ID
    47
    时间
    1000ms
    内存
    512MiB
    难度
    1
    标签
    递交数
    274
    已通过
    204
    上传者