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

2021-07-16 04:33:11 字數 981 閱讀 1754

time limit: 1000ms memory limit: 65536k

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

首先輸入乙個整數n,代表有n個小朋友。(0

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

5

1 2 3 4 5

32 3 4

2 4

windream

注意題目中的是否存在唯一確定的一對

#include#include#include#define max 1000000

int next[max];

int a[max],b[max];

typedef struct

string;

void init(string *tr)

void creat(string *str,int a,int n)

void get_nextval(string *str)

else j=next[j];

}}int kmp(string *str1,string *str2)

else

j=next[j];

if(j>str2->len)

}if(f==1) return t-str2->len;

else return -1;

}int main()

scanf("%d",&m);

for(i=0; icreat(&str1,a,n);

creat(&str2,b,m);

int f=kmp(&str1,&str2);

if(f!=-1)

else

printf("%d\n",f);

}

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

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

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

有n個小朋友,每個小朋友手裡有一些糖塊,現在這些小朋友排成一排,編號是由1到n。現在給出m個數,能不能唯一的確定一對值l和r l r 使得這m個數剛好是第l個小朋友到第r個小朋友手裡的糖塊數?首先輸入乙個整數n,代表有n個小朋友。下一行輸入n個數,分別代表每個小朋友手裡糖的數量。之後再輸入乙個整數m...

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

time limit 1000ms memory limit 65536kb submit statistic discuss problem description 有n個小朋友,每個小朋友手裡有一些糖塊,現在這些小朋友排成一排,編號是由1到n。現在給出m個數,能不能唯一的確定一對值l和r l r...