我是直接在31行读入开始判断的,还有什么情况没考虑吗,最后是我自己的测试用例
#include <bits/stdc++.h>
using namespace std;
#define _i i << 1
#define __i i << 1 | 1
#define cl tree[i].l
#define cr tree[i].r
#define MAX_N 100010
#define lowbit(x) (x & -x)
using ld = long double;
using ll = long long;
class fastio {
public:
template <class T = int>
inline T r() noexcept {
T x = 0, w = 1;
char ch = 0;
for (; !isdigit(ch); ch = getchar())
if (ch == '-') w = -1;
for (; isdigit(ch); ch = getchar()) x = (x << 3) + (x << 1) + (ch - '0');
return x * w;
}
inline string rs() noexcept {
string res;
char ch = 0;
for (ch = getchar(); ch == '0' || ch == '\n' || ch == '\r' || ch == '<';
ch = getchar())
;
for (; ch != '\n' && ch != '\r'; ch = getchar()) {
if (ch == '<') {
if (!res.empty()) res.pop_back();
continue;
}
res.append(1, ch);
}
return res;
}
inline char rc() noexcept {
char ch = getchar();
for (; ch == '0' || ch == '\n' || ch == '\r'; ch = getchar())
;
return ch;
}
template <class T = int>
inline fastio& pt(T x) noexcept {
static char sta[128];
int top = 0;
if (x < 0) x = -x, putchar('-');
do {
sta[top++] = x % 10, x /= 10;
} while (x);
while (top) putchar(sta[--top] + 48);
return *this;
}
inline fastio& pts(const string s) noexcept {
for (int i = 0; s[i] != '\0'; ++i) putchar(s[i]);
return *this;
}
inline fastio& ptc(const char c) noexcept {
putchar(c);
return *this;
}
inline fastio& ln() noexcept {
putchar('\n');
return *this;
}
} f;
string ans[10001];
string in[10001];
int T, n1, n2;
void solve() {
int res = 0;
for (int i = 1, j = 1; i < n1 && j < n2; ++i, ++j) {
int l1 = ans[i].size(), l2 = in[j].size();
if (l1 == 0 && l2 == 0) continue;
if (l1 == 0) {
--j;
continue;
}
if (l2 == 0) {
--i;
continue;
}
for (int idx1 = 0, idx2 = 0; idx1 < l1 && idx2 < l2;) {
if (ans[i][idx1] == in[j][idx2]) ++res;
++idx1, ++idx2;
}
}
f.pt<int>(round(res / (T / 60.00)));
}
int main() {
n1 = n2 = 0;
while (ans[n1] != "EOF") {
ans[++n1] = f.rs();
}
while (in[n2] != "EOF") {
in[++n2] = f.rs();
}
T = f.r();
solve();
return 0;
}
/*
<<h<<w
<<<
<<<
<<<
EOF
haa<aaa<<<<<eee<<<w
EOF
12
*/