思路 :
- 分类讨论x和y的相对大小关系来确定正向
- 开两个变量ans表示正向和cnt表示反向,分别考虑正向和反向的情况,如果ans和cnt都等于m(每个站点都符合)说明不确定,如果ans等于则正确,否则wrong
- 注意数组下标越界,所以条件判断中还要加特判
#include <iostream>
#include <algorithm>
#include <cstring>
#include <queue>
#include <stack>
#include <unordered_set>
using namespace std;
typedef long long ll;
const int N = 15;
int n, m, x, y;
int k[N], p[N];
int main()
{
ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
cin >> n >> x >> y;
for (int i = 1; i <= n; i ++ ) cin >> k[i];
cin >> m;
for (int i = 1; i <= m; i ++ ) cin >> p[i];
int ans = 0, cnt = 0;
if (x > y)
{
int a = x - 1, b = x + 1;
for (int i = 1; i <= m; i ++ )
{
if (a >= 1 && p[i] == k[a])
ans ++ , a -- ;
if (b <= n && p[i] == k[b])
cnt ++ , b ++ ;
}
}
else
{
int a = x + 1, b = x - 1;
for (int i = 1; i <= m; i ++ )
{
if (a <= n && p[i] == k[a])
ans ++ , a ++ ;
if (b >= 1 && p[i] == k[b])
cnt ++ , b -- ;
}
}
if (ans == m && cnt == m) cout << "Unsure" << endl;
else if (ans == m) cout << "Right" << endl;
else cout << "Wrong" << endl;
return 0;
}