資料結構實驗之串三 KMP應用

2021-10-11 10:25:17 字數 871 閱讀 9599

有n個小朋友,每個小朋友手裡有一些糖塊,現在這些小朋友排成一排,編號是由1到n。現在給出m個數,能不能唯一的確定一對值l和r(l <= r),使得這m個數剛好是第l個小朋友到第r個小朋友手裡的糖塊數?

首先輸入乙個整數n,代表有n個小朋友。下一行輸入n個數,分別代表每個小朋友手裡糖的數量。

之後再輸入乙個整數m,代表下面有m個數。下一行輸入這m個數。

如果能唯一的確定一對l,r的值,那麼輸出這兩個值,否則輸出-1

input 

5

1 2 3 4 5

32 3 4

output 

2 4
#define maxsize 1000005

#include #include#includeusing namespace std;

int a1[maxsize], a2[maxsize];

void getnext(int a, int n, int next)

else

}}int kmp(int a1, int n, int a2, int m, int next)

else

}if(j > m)

return i - m;

else return -1;

}int main()

scanf("%d", &m);

for(int i = 1; i <= m; i++)

getnext(a2, m, next);

int k = kmp(a1, n, a2, m, next);

if(k != -1)

else

}else

return 0;

}

資料結構實驗之串三 KMP應用

time limit 1000ms memory limit 65536k 有疑問?點這裡 有n個小朋友,每個小朋友手裡有一些糖塊,現在這些小朋友排成一排,編號是由1到n。現在給出m個數,能不能唯一的確定一對值l和r l r 使得這m個數剛好是第l個小朋友到第r個小朋友手裡的糖塊數?首先輸入乙個整數...

資料結構實驗之串三 KMP應用

time limit 1000ms memory limit 65536k 有n個小朋友,每個小朋友手裡有一些糖塊,現在這些小朋友排成一排,編號是由1到n。現在給出m個數,能不能唯一的確定一對值l和r l r 使得這m個數剛好是第l個小朋友到第r個小朋友手裡的糖塊數?首先輸入乙個整數n,代表有n個小...

資料結構實驗之串三 KMP應用

time limit 1000ms memory limit 65536k 有n個小朋友,每個小朋友手裡有一些糖塊,現在這些小朋友排成一排,編號是由1到n。現在給出m個數,能不能唯一的確定一對值l和r l r 使得這m個數剛好是第l個小朋友到第r個小朋友手裡的糖塊數?首先輸入乙個整數n,代表有n個小...