原题链接
C++代码
#include <bits/stdc++.h>
// #define int long long
using namespace std;
const int N = 45;
int a[N], b[N], c[N];
int t, n;
bool dfs(int u, int x, int y)
{
if (x > n /2 || y > n / 2) return false;
if (u > n) return true;
if (a[y + 1] == c[u])
{
b[y + 1] = c[u];
if (dfs(u + 1, x, y + 1))
{
return true;
}
}
a[x + 1] = c[u];
return dfs(u + 1, x + 1, y);
}
signed main()
{
cin >> t;
while (t -- )
{
cin >> n;
for (int i = 1; i <= n; i ++ )
{
cin >> c[i];
}
a[1] = c[1];
if (dfs(2, 1, 0)) cout << "Frederica Bernkastel" << endl;
else cout << "Furude Rika" << endl;
}
return 0;
}