本文共 3470 字,大约阅读时间需要 11 分钟。
X国最近开始严查枪火。像是“ a k ” “ak” ,“ m 4 a 1 ” “m4a1” ,“ s k r ” “skr” 都是明令禁止的。现在小Q查获了一批违禁物品,其中部分是枪支。小Q想知道自己需要按照私藏枪火来关押多少人。(只有以上三种枪被视为违法)
第一行输入整数 n(1 ≤ n ≤ 1000),表示携带违禁物品的人数。以下 n 行表示违禁物品的名称。
输出需要按照私藏枪火来关押的人。
输入:3
Dsdak232asd输出:1解题步骤如下:
代码如下:
#include#include using namespace std;int main() { int n = 0; cin >> n; string s; int count = 0; for (int i = 0; i < n; i++) { cin >> s; if (s == "ak" || s == "m4a1" || s == "skr") { count++; } } cout << count << endl; return 0;}
鬼画符门,每年都会统计自己宗门鬼画符消耗的数量,往年一直是大师兄管理,但是这次鬼艺接手了,你能帮鬼艺写一个程序统计每年消耗数量最多的鬼画符吗?
第一行输入整数 n(1 ≤ n ≤ 1000),表示鬼画符的数量。以下 n 行输入每个鬼画符的名称。
输出消耗数量最多的鬼画符(字符串),无需考虑多种鬼画符消耗数量相同的情况。
输入:5
redredgreengreenhen输出:red解题步骤如下:
代码如下:
#include#include #include using namespace std;int main() { int n = 0; cin >> n; unordered_map um; string s; for (int i = 0; i < n; i++) { cin >> s; um[s]++; } int mCount = 0; string ret; for (auto e : um) { if (e.second > mCount) { mCount = e.second; ret = e.first; } } cout << ret << endl; return 0;}
已知字符串 s t r str ,s t r str 表示邮箱的不标准格式。其中“ . ” “dot” 会被记录成“.” ,“ @ ” “@” 会被记录成“at” 。写一个程序将 s t r str 转换成可用的邮箱格式。(可用格式中字符串中除了开头结尾,所有“ d o t ”都会被转换成“.” ,“ a t ”只会被转换一次,开头结尾的不转换)
输入字符串 s t r (1 ≤ strlen(s t r) ≤ 1000)。
输出转换后的格式。
输入:mxyatoxcoderdotcom
输出:mxy@oxcoder.com解题步骤如下:
代码如下:
#include#include using namespace std;int main() { string str; cin >> str; string ret; size_t pos = 0; bool flag = false; while (pos < str.size()) { if ((pos != 0) && (pos + 2 != str.size() - 1) && (str[pos] == 'd') && (pos + 1 < str.size() && str[pos + 1] == 'o') && (pos + 2 < str.size() && str[pos + 2] == 't')) { ret += '.'; pos += 3; } else if ((flag == false) && (pos != 0) && (pos + 1 != str.size() - 1) && (str[pos] == 'a') && (pos + 1 < str.size() && str[pos + 1] == 't')) { ret += '@'; pos += 2; flag = true; } else { ret += str[pos]; pos++; } } cout << ret << endl; return 0;}
给一个无序数组,求最长递增的区间长度,如:[5, 2, 3, 8, 1, 9],最长区间2, 3, 8长度为3。
第一行输入整数 n(1 ≤ n ≤ 1000),表示数组的大小。第二行给出 n 个整数 a(-1e9 ≤ a ≤ 1e9)。
输出数组中最长递增区间的长度。
输入:6
5 2 3 8 1 9输出:3解题步骤如下:
代码如下:
#include#include using namespace std;int main() { int n = 0; cin >> n; vector v(n); for (int i = 0; i < n; i++) { cin >> v[i]; } int mCount = 0; int count = 0; for (int i = 1; i < n; i++) { if (v[i] - v[i - 1] > 0) { count++; if (count > mCount) { mCount = count; } } else { count = 0; } } cout << mCount + 1 << endl; return 0;}
转载地址:http://reefk.baihongyu.com/