题目描述
憨憨小杨晚上睡不着觉,就开始数羊,她觉得一只一只数太慢了,突发奇想出了一种新的数羊方式,羊羊数量A(n,m)由两个整形变量n和m决定,计算方式如下:
现在给出n和m的值,请你帮小杨数数一共有多少只羊。
输入描述:
多组输入。
第一行包含一个整数T(1≤T≤1000),表示有T组测试数据。
每组测试数据包含一行,包含两个整数n(1≤n≤10^9)和m(0≤m≤2).
输出描述:
对每一组输入,在一行中输出A(n,m)的值,由于输出的结果可能会很大,答案对998244353取模
思路:
直接迭代会爆
先写一个找出规律
def A(n,m):
if n==1 and m==0:
return 2
elif n==0 and m>=0:
return 1
elif n>=2 and m==0:
return n+2
elif m == 1:
return (2 * n)%998244353
elif m == 2:
return (2 ** n)%998244353
t=int(input())
for _ in range(t):
n,m=map(int,input().split())
print(A(n,m))