分糖果
分糖果
https://ac.nowcoder.com/acm/problem/230360
#include<stdio.h>
const int mod = 998244353;
int main()
{
int t;
scanf("%d", &t);
while (t--) {
int n;
scanf("%d", &n);
long long sum = 1.0;
for (int i = 1; i <=(n/2)+1; i++) {
sum = sum * 2 % mod;
}
sum = (sum - 2 + mod) % mod;
printf("%lld\n", sum);
}
return 0;
}
写这一题目是真的裂开,长经验了,一开始只算着一次放一个,那边小放哪边,然后注意个数到达一半即可。结果超时太严重了,于是就对题目进行化简,不断的化简得到竟然有规律,于是就完成了,最最最后注意的一点是取模前有可能-2导致为负数,所以要先加一个模再取模,长经验了。