B3688 [语言月赛202302] 还有花,少女,银河 题解

· · 题解

[语言月赛202302] 还有花,少女,银河 题解

Source & Knowledge

2023 年 2 月语言月赛,由洛谷网校入门计划/基础计划提供。

本题考查字符串处理。

文字题解

题目大意

给定一些字符串,对每个字符串规定了两个字符串 XY,判定字符串是不是 X.zip/X/Y/Y.cpp

分析

我们来介绍 string 的内置 + 运算符,它可以将两个 string 类型(或一个 string 类型和一个字符数组)拼接起来。

例如,如下的代码输出结果为 ILoveLuogu

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

int main() {
  string a = "I", b = "Love";
  string c = a + b + "Luogu";
  cout << c << endl;
}

于是,对于考号为 X 的选手的题目 Y,我们可以按如下语法得到他本应的目录结构:

string standard = X + ".zip/" + X + "/" + Y + "/" + Y + ".cpp";

在读入选手的文件目录 r 后,可以直接根据 standard == r 的结果检查选手的目录结构是否正确,分别进行输出:

cin >> r;
if (standard == r) cout << "Fusu is happy!\n";
else cout << "Fusu is angry!\n";

视频题解

完整代码请在视频中查看。