1021. Couples

本文探讨了在解决括号匹配问题时遇到数组大小限制导致的编译错误,并介绍了如何将大数组移出 main 函数以解决问题。通过实例代码展示了解决方案。

TAG 括号匹配

偶然发现一道自己之前没ac的题,而且都是CE。

 

刚好现在弄清楚了,大数组要放到main函数外。不然会有奇怪的错误。跟编译时数据的分配位置有关。

 

i686-linux-4.4.........crt1.o: In function `_start':
(.text+0x18): undefined reference to `main'
collect2: ld returned 1 exit status



赶紧改一改然后ac。当作括号匹配做。。

以下从不同方面对“情侣 Couples”用 C++ 实现的可能场景进行分析: ### 简单的情侣类实现 如果要在 C++ 中实现一个表示情侣的类,可以这样做: ```cpp #include <iostream> #include <string> class Couples { private: std::string partner1; std::string partner2; public: // 构造函数 Couples(const std::string& p1, const std::string& p2) : partner1(p1), partner2(p2) {} // 显示情侣信息 void displayCouple() const { std::cout << partner1 << " 和 " << partner2 << " 是情侣。" << std::endl; } }; int main() { Couples couple("张三", "李四"); couple.displayCouple(); return 0; } ``` 上述代码定义了一个 `Couples` 类,包含两个私有成员变量 `partner1` 和 `partner2` 分别表示情侣双方。构造函数用于初始化这两个成员变量,`displayCouple` 函数用于显示情侣信息。在 `main` 函数中创建了一个 `Couples` 对象并调用 `displayCouple` 函数显示信息。 ### 情侣配对模拟 可以模拟情侣配对的过程,假设有两组人,然后进行随机配对: ```cpp #include <iostream> #include <vector> #include <string> #include <cstdlib> #include <ctime> class Person { public: std::string name; Person(const std::string& n) : name(n) {} }; class Couples { public: Person partner1; Person partner2; Couples(const Person& p1, const Person& p2) : partner1(p1), partner2(p2) {} void display() const { std::cout << partner1.name << " 和 " << partner2.name << " 是情侣。" << std::endl; } }; std::vector<Couples> matchCouples(const std::vector<Person>& group1, const std::vector<Person>& group2) { std::vector<Couples> couples; srand(time(0)); std::vector<Person> tempGroup2 = group2; for (const auto& person1 : group1) { if (tempGroup2.empty()) break; int randomIndex = rand() % tempGroup2.size(); Person person2 = tempGroup2[randomIndex]; couples.emplace_back(person1, person2); tempGroup2.erase(tempGroup2.begin() + randomIndex); } return couples; } int main() { std::vector<Person> group1 = {Person("张三"), Person("李四"), Person("王五")}; std::vector<Person> group2 = {Person("小红"), Person("小绿"), Person("小蓝")}; std::vector<Couples> couples = matchCouples(group1, group2); for (const auto& couple : couples) { couple.display(); } return 0; } ``` 此代码定义了 `Person` 类表示个人,`Couples` 类表示情侣。`matchCouples` 函数实现了随机配对的逻辑,在 `main` 函数中创建两组人并调用 `matchCouples` 函数进行配对,最后显示配对结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值