2 条题解

  • 0
    @ 2024-9-8 19:06:18

    J1B What beats RiOI

    思路

    RiOI 这个字符串较短,打表出每一种可能的大小写情况,遍历时用 find 函数判断即可。

    复杂度

    s|s| 为字符串 ss 的长度。

    时间复杂度:

    O(x+y)O(|x|+|y|)

    空间复杂度:

    O(x+y)O(|x|+|y|)

    Code

    #include <bits/stdc++.h>
    using namespace std;
    int pd(string a)
    {
    	string b[105] = {"rioi","Rioi","rIoi","riOi","rioI","RIoi","RiOi","RioI","rIOi","rIoI","riOI","RIOi","rIOI","RIoI","RiOI","RIOI"};
    	for (int i = 0;i < 15;i++)
    	{
    		if (a.find(b[i]) != -1) return 1;
    	}
    	return 0;
    }
    int main()
    {
    	string a,b;
    	cin >> a >> b;
    	int x = pd(a),y = pd(b);
    	if (x && y) cout << "Either is ok!";
    	else if (x) cout << a << " for sure!";
    	else if (y) cout << b << " for sure!";
    	else cout << "Try again!";
    	return 0;
    }
    
    • -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;
      }
      
      • 1

      信息

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