1. 程式人生 > >ZZULIOJ.1147: 查詢子陣列

ZZULIOJ.1147: 查詢子陣列

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; }