奶牛体检
思路分析
代码实现
#include<bits/stdc++.h>
using namespace std;
#define endl '\n'
int main() {
int N;cin >> N;
vector<int> a(N), b(N);
for (int i = 0; i < N; ++i) cin >> a[i];
for (int i = 0; i < N; ++i) cin >> b[i];
vector<int> count(N + 1, 0);
for (int l = 0; l < N; ++l) {
for (int r = l; r < N; ++r) {
vector<int> temp = a;
int current_l = l;
int current_r = r;
while (current_l < current_r) {
swap(temp[current_l], temp[current_r]);
current_l++;
current_r--;
}
int matched = 0;
for (int i = 0; i < N; ++i) {
if (temp[i] == b[i]) {
matched++;
}
}
count[matched]++;
}
}
for (int i = 0; i <= N; ++i) {
cout << count[i] << endl;
}
return 0;
}
同类题型
视频讲解
⬅️ 奶牛体操 🏠 00-刷题理模型 ➡️ 小平方
💬 评论