ZZULIOJ 1147: 查詢子陣列
阿新 • • 發佈:2018-11-30
題目描述給定兩個整型陣列,陣列a有n個元素, 陣列b有m個元素,1<=m<=n<100,請檢驗陣列b是否是陣列a的子陣列。若從陣列a的某個元素a[i]開始,有b[0]=a[i],b[1]=a[i+1],…,b[m]=a[i+m],則稱陣列b是陣列a的子陣列。
輸入輸入第一行為兩個整數n和m;第二行為陣列a的n個整數;第三行為陣列b的m個整數,各資料之間用空格隔開。
輸出輸出佔一行。若b是a的子陣列,則輸出子陣列所在位置i,注意下標從0開始;否則輸出“No Answer”。
樣例輸入8 3
3 2 6 7 8 3 2 5
3 2 5
樣例輸出5
#include<stdio.h>
int main(){
int m[100],n[100];
int a,i,b,j;
scanf("%d%d",&a,&b);
for(i=0;i<=a-1;i++){
scanf("%d",&m[i]);
}
for(i=0;i<=b-1;i++){
scanf("%d",&n[i]);
}
for(i=0;i<=a-b;i++){
for(j=0;j<b;j++){
if(m[i+j]!=n[j])
break;
}
if(j==b){
printf("%d",i) ;break;
}
}
if(j!=b)printf("No Answer");
return 0;
}