main
黄海 1 year ago
parent 9aa69de219
commit 99f721549e

@ -24,15 +24,7 @@ int main() {
for (int j = n; j > i; j--)
if (a[i] > a[j]) f2[i] = max(f2[i], f2[j] + 1);
}
// // 输出最长上升
// for (int i = 1; i <= n; i++) cout << f1[i] << " ";
// cout << endl;
// // 输出最长下降
// for (int i = 1; i <= n; i++) cout << f2[i] << " ";
// cout << endl;
// f1[i],f2[i]全都是1那么输出-1
bool flag = true;
for (int i = 1; i <= n; i++)
if (f1[i] != 1) {
@ -57,13 +49,13 @@ int main() {
exit(0);
}
int mi = -1;
int mx = -1;
for (int i = 1; i <= n; i++) {
int tmp = f1[i] + f2[i];
mi = max(mi, tmp);
int t = f1[i] + f2[i];
mx = max(mx, t);
}
cout << n - mi + 1 << endl;
cout << n - mx + 1 << endl;
return 0;
}

@ -0,0 +1,30 @@
#include <bits/stdc++.h>
using namespace std;
const int N = 31;
char a[N][N];
int n, m, cnt;
int main() {
cin >> n >> m;
for (int i = 0; i < n; i++)
for (int j = 0; j < m; j++)
cin >> a[i][j];
for (int e = 2; e < min(m, n); e++) {
for (int i = 0; i <= n - e; i++) {
for (int j = 0; j <= m - e; j++) {
bool f = true;
for (int x = 0; x < e; x++) {
for (int y = 0; y < e; y++) {
if (a[i][j] != a[i + x][j + y]) {
f = false;
break;
}
}
if (!f) break;
}
if (f) cnt++;
}
}
}
cout << cnt;
return 0;
}
Loading…
Cancel
Save