ZZULIOJ.1147: 查詢子陣列
阿新 • • 發佈:2018-11-25
1147: 查詢子陣列
題目描述
給定兩個整型陣列,陣列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 n,m,i,j,k=0,t=0;
char a[100],b[100];
scanf("%d%d",&n,&m);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(j=0;j<m;j++)
scanf("%d",&b[j]);
for(i=0;i<n-m+1;i++)
{
t=0;
if(b[0]==a[i])
{
for(j=0;j<m;j++)
{
if(b[j]==a[j+i])
t++;
}
if(t==m)
{
printf("%d",i);
k=1;
break;
}
}
if(k==1) break;
}
if(t!=m) printf("No Answer" );
return 0;
}