The fifth day of intensive training at Nanjing Foreign Language School.
第一题模拟
#include <bits/stdc++.h>
using namespace std;
char a[200];
int main() {
cin.getline(a, 200);
char x = a[0];
int len = strlen(a);
for (int i = 1; i < len; i++) {
if (a[i] > x) {
x = a[i];
}
}
for (int i = 0; i < len; i++) {
cout << a[i];
if (a[i] == x) {
cout << "(max)";
}
}
return 0;
}
第二题,模拟
#include <bits/stdc++.h>
using namespace std;
char a[200];
int main() {
cin.getline(a, 200);
char x = a[0];
int len = strlen(a);
for (int i = 1; i < len; i++) {
if (a[i] > x) {
x = a[i];
}
}
for (int i = 0; i < len; i++) {
cout << a[i];
if (a[i] == x) {
cout << "(max)";
}
}
return 0;
}
第三题,还是模拟
#include <bits/stdc++.h>
using namespace std;
int n, a[1100000], ans, l, r;
int main() {
cin >> n;
for (int i = 1; i <= n; i++) {
cin >> a[i];
}
l = 1, r = n;
while (l <= r) {
if (a[l] == a[r]) {
l++, r--;
} else if (l + 1 == r) {
ans++;
break;
} else {
if (a[l] < a[r]) {
++l;
a[l] += a[l - 1];
ans++;
} else {
--r;
a[r] += a[r + 1];
ans++;
}
}
}
cout << ans;
return 0;
}
第四题,贪心
#include <bits/stdc++.h>
using namespace std;
int n;
string a[10100];
bool cmp(string a, string b) { return a + b < b + a; }
int main() {
cin >> n;
for (int i = 1; i <= n; i++) {
cin >> a[i];
}
sort(a + 1, a + 1 + n, cmp);
string c;
for (int i = 1; i <= n; i++) {
c = c + a[i];
}
int tot = 0;
while (c[tot] == '0') c.erase(0, 1);
int len = c.size();
tot = 0;
if (len == 0)
cout << "0";
while (tot < len) {
cout << c[tot];
tot++;
}
return 0;
}
第五题DP