题目
签到题。
这题的数据和思路都很简单,因为一定是以公司作为起点挨个报站点,所以“Unsure”的情况只需要考虑公司两边的m个数据是否对应完全一致就可以了;“Right”和“Wrong”的情况也是一样,对照数据是不是一样就可以。
我们考试的时候在家和公司的相对位置上犯蠢了,一开始没有考虑到家既可以在公司的前边也可以在公司的后边,罚时罚得很难看。
做得比较暴力和简单。
附上AC代码。
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,x,y;
int a[15],b[15];
scanf("%d%d%d",&n,&x,&y);
for(int i=1;i<=n;i++){
scanf("%d",&a[i]);
}
int m;
scanf("%d",&m);
for(int i=1;i<=m;i++){
scanf("%d",&b[i]);
}
int flag=0,p=x+1;
for(int i=x-1;i>=x-m;i--){
if(a[i]!=a[p]){
flag=1;break;
}
p++;
}
if(flag!=1){
printf("Unsure\n");
}
else if(y>x){
int f=1,k=1;
for(int i=x+1;i<=x+m;i++){
if(a[i]!=b[k]){
printf("Wrong\n");
f=0;break;
}
k++;
}
if(f==1)printf("Right\n");
}else if(y<x){
int f=1,k=1;
for(int i=x-1;i>=x-m;i--){
if(a[i]!=b[k]){
printf("Wrong\n");
f=0;break;
}
k++;
}
if(f==1)printf("Right\n");
}
}