藏宝图程序怎么写

时间:2025-01-27 10:04:28 单机游戏

藏宝图程序可以根据不同的需求和场景进行编写。以下是一个简单的基于子序列匹配的藏宝图程序示例,使用C++编写:

```cpp

include

include

using namespace std;

bool isSubstring(const string& s, const string& t) {

int m = s.length();

int n = t.length();

if (m < n) return false;

int i = 0, j = 0;

while (i < m && j < n) {

if (s[i] == t[j]) {

j++;

}

i++;

}

return j == n;

}

int main() {

string s, t;

while (cin >> s >> t) {

if (isSubstring(s, t)) {

cout << "Yes" << endl;

} else {

cout << "No" << endl;

}

}

return 0;

}

```

代码解释:

isSubstring函数

该函数用于判断字符串`t`是否是字符串`s`的子序列。

使用两个指针`i`和`j`分别遍历字符串`s`和`t`。

如果`s[i]`等于`t[j]`,则两个指针都向前移动一位。

如果`s[i]`不等于`t[j]`,则只移动指针`i`。

如果指针`j`到达了字符串`t`的末尾,说明`t`是`s`的子序列。

main函数

从标准输入读取两个字符串`s`和`t`。

调用`isSubstring`函数判断`t`是否是`s`的子序列。

根据判断结果输出"Yes"或"No"。

示例输入输出:

```

x.nowcoder.com ooo

Yes

```

这个程序可以处理多个测试用例,并且可以根据需要进行扩展和优化。例如,可以添加更多的输入验证、优化子序列匹配算法等。