2021年青岛市程序设计竞赛试题(初中组)决赛
A.趣味三角(triangle.cpp)
【题目描述】
今天,新高一的OIer们第一次进入了机房。z老师想让他们喜欢上OI,于是给了他们每个人一个三角形。 这时候,小q秃发奇想,拿着手中的三角形,给大家出了一道题,请你帮助他们给小q一个正确的答案。 小q给了你两个整数 ,请输出杨辉三角前x行的所有数的和模a的值。 如果你不知道杨辉三角是什么,请看样例解释。
【输入格式】
每个测试点有多组测试数据。 每个测试点第一行一个正整数n表示数据组数。 接下来n行每行两个正整数a,x 表示一次询问。
【输出格式】
共T行,每行一个正整数,表示答案。
【样例输入】
3 5 6 7 2 2 998244353
【样例输出】
3 3 1
【样例解释】
杨辉三角如下:
第一行: 1 第二行: 1 1 第三行: 1 2 1 第四行: 1 3 3 1 第五行: 1 4 6 4 1 第六行: 1 5 10 10 5
这个三角的生成方式如下: 1. 第 行( 是正整数)有 个数。 2. 记第 行从左到右数第 个数为 ( 都是正整数),则
可见前6 行的和为63 ,对5 取模后结果为3 。 前2 行的和为3 ,对 7取模后结果为3 。
【说明提示】
对于10% 的数据,满足 n<=5;
对于20% 的数据,满足T=1,n<=50 ;
对于40% 的数据,满足T<=10,n<=100;
对于60% 的数据,满足n<=106 ;
对于80% 的数据,满足N<=1018 ;
对于100%的数据,满足 T<103,m<108,n<101000 保证 m为质数