NC14694. 栗酱的数列
描述
输入描述
第一行一个数T,表示有T组数据。对于每组数据,第一行三个整数,n, m, k。第一行输入n个数, a1,a2,…,an, 表示A数列中的数,第二行输入m个数, b1,b2,…,bm, 表示B数列中的数。
输出描述
每一组数据输出一行,满足条件的连续子序列数量。
示例1
输入:
2 3 2 5 7 8 7 8 7 3 2 5 7 8 9 8 7
输出:
1 2
C++11(clang++ 3.9) 解法, 执行用时: 332ms, 内存消耗: 1536K, 提交时间: 2017-12-23 18:54:31
#include <stdio.h> int main() { int T,n,m,k,z,i,j,a[200010],b[200010]; scanf("%d",&T); while(T--) { scanf("%d%d%d",&n,&m,&k); for(i=0;i<n;i++) scanf("%d",&a[i]); for(i=0;i<m;i++) scanf("%d",&b[i]); for(z=i=0;i<=n-m;i++) { for(j=1;j<m;j++) { if((a[i+j]+b[j])%k!=(a[i+j-1]+b[j-1])%k) break; } if(j>=m) z++; } printf("%d\n",z); } return 0; }