#include <iostream>#include <cstring>#include <cstdio>
using namespace std;
int solve(char p[][16], int n, char q[][16], intm) {
int Max = -1;
int i, j;
for (i = 0; i < n; i++) {
for (j = 0; j < m; j++) {
if (!strcmp(p[i], q[j])) {
Max = max(j, Max);
break;
}
}
if (j == m)
return0;
}
if (n == 1 && Max != -1) // 只有一个代理服务器,还不能解决剩下的问题
return -1;
return1 + solve(p, n, q+Max, m-Max);
}
int main() {
int n, m;
char p[1005][16];
char q[5005][16];
cin >> n;
for (int i = 0; i < n; i++) {
scanf("%s", p[i]);
}
cin >> m;
for (int i = 0; i < m; i++) {
scanf("%s", q[i]);
}
cout << solve(p, n, q, m) << endl;
return0;
}
#include <iostream>
#include <string>
using namespace std;
int pos[26][2] = {{1,1},{1,2},{1,3},{2,1},{2,2},{2,3},{3,1},{3,2},{3,3},
{4,1},{4,2},{4,3},{5,1},{5,2},{5,3},{6,1},{6,2},{6,3},{6,4},
{7,1},{7,2},{7,3},{8,1},{8,2},{8,3},{8,4}}; // 保存每个字母所在的键盘及其位置
int main() {
string str = "";
while (cin >> str) {
int time = 0;
for (int i = 0 ; i < str.length(); i++) {
if (i == 0) {
time += pos[str[0]-'a'][1]; // 第一个字母不需要等待,直接加按键时间
} else {
if (pos[str[i]-'a'][0] == pos[str[i-1]-'a'][0]) {
time += 2; // 等待时间
}
time += pos[str[i]-'a'][1];
}
}
cout << time << endl;
}
return 0;
}
#include <iostream>#include <cstdio>usingnamespacestd;
int main() {
int n, x;
int mini = 1000001;
int maxi = -1000001;
while (scanf("%d", &n) != EOF) {
while (n--) {
scanf("%d", &x);
if (x < mini)
mini = x;
if (x > maxi)
maxi = x;
}
printf("%d %d\n", maxi, mini);
}
return0;
}