118 条题解
-
-7
A1题解
警告:此题解非正常题解,请不要以此作为标准
解题方法
使用c++11新特性:可变参数模板
先定义了一个可以打印vector,array,initializer_list中内容的函数print()
随后在main中分别定义"Hello MXOJ!\n"字符串拆解后的内容
最后调用print()函数输出即可
Code
#include <bits/stdc++.h> using namespace std; void print() {}// 终止条件 template<typename T, size_t N> void print(const array<T, N>& arr) { for (const auto& val : arr) { cout << val; } } template<typename T> void print(const vector<T>& vec) { for (const auto& val : vec) { cout << val; } } template<typename T> void print(const initializer_list<T>& init_list) { for (const auto& val : init_list) { cout << val; } } template<typename T> void print(const T& val) { cout << val; } template<typename T, typename... Types> void print(const T& val, const Types&... args) { print(val); print(args...); } int main() { ios::sync_with_stdio(0); cin.tie(nullptr); cout.tie(NULL); array<char, 6> hello = {'H', 'e', 'l', 'l', 'o', ','}; string space(" "); vector<char> mx(2, 'M'); mx.at(1) = 'X'; initializer_list<char> oj = {'O', 'J', '!'}; #define ENTER '\n' print(hello, space, mx, oj, ENTER); return 0; }
信息
- ID
- 1
- 时间
- 1000ms
- 内存
- 512MiB
- 难度
- 1
- 标签
- (无)
- 递交数
- 2477
- 已通过
- 1210
- 上传者