B A×B (简化版)
Time Limit:233MS Memory Limit:65535K
题型: 编程题 语言: 无限制
描述
给出两个数列a、b,构造一个矩阵mat,使得mat[i][j] = a[i] * b[j]。求mat中不同的值有多少个。
输入格式
输入T,表示以下有T组测试数据:对于每一组测试数据,输入一行9个整数 n, m, a0, b0, p, q, x, y, mx。其中,a[0] = a0,a[i] = a[i - 1] * p + x (1 <= i < n); b[0] = b0, b[j] = b[j - 1] * q + y (1 <= j < m)。由于生成出来的数字比较大,所以对于a和b每一个元素对其模mx。数据范围:T <= 51 <= n, m <= 20001 <= a0, b0, p, q, x, y, mx <= 1000
输出格式
每组数据一行,输出对应的结果。
输入样例
12 2 1 2 3 4 5 7 10
输出样例
4
Hint
解释sample:a[] = { 1, 8 };b[] = { 2, 5 };mat[][] = { { 2, 16 }, { 5, 40 }};
#include#include int a[2000],b[2000],cc[4000000];int main(){ int T,t; scanf("%d",&T); int num[T]; for(t=0;t