f(cos(x))=cos(n∗x) holds for all xxx.

Given two integers nnn and mmm, you need to calculate the coefficient of xmx^mx​m​​ in f(x)f(x)f(x), modulo 998244353998244353998244353.

Input Format

Multiple test cases (no more than 100100100).

Each test case contains one line consisting of two integers nnn and mmm.

1≤n≤109,0≤m≤1041 \le n \le 10^9,0 \le m \le 10 ^ 41≤n≤10​9​​,0≤m≤10​4​​.

Output Format

Output the answer in a single line for each test case.

样例输入

2 0
2 1
2 2

样例输出

998244352
0
2
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<queue>
#include<map>
#include<cstdlib>
#include<string>
#include<set>
#include<stack>
#define mod 998244353using namespace std;int n, k;long long  PowerMod(long long  a, long long  b = mod - 2, long long c = mod)
{long long  ans = 1;a = a % c;while(b>0){if(b & 1)ans = (ans * a) % c;b >>= 1;a = (a * a) % c;}return ans;
}
void xishu()
{long long ans = 1;if((n & 1) + (k & 1) == 1){cout << 0 << endl;return ;}else{int tmp = (n - k) / 2;if(tmp & 1)ans = -1;elseans = 1;}for(int i = 1; i <= k; i++){ans = ans * PowerMod(i) % mod;}int low = min(n + k - 2, n - k);int high = max(n + k - 2, n - k);if(n + k - 2 <= n - k){for(int i = high ; i > low ; i -= 2){ans = ans * PowerMod(i) % mod;}}else{for(int i = high; i > low; i -= 2){ans = ans * i % mod;}}ans = ans * n % mod;cout << (ans + mod) % mod << endl;
}int main()
{while(~scanf("%d %d", &n, &k)){xishu();}return 0;
}

2017 ACM-ICPC 亚洲区(西安赛区)网络赛 F相关推荐

  1. 计蒜客 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 B coin(求乘法逆元)

    Bob has a not even coin, every time he tosses the coin, the probability that the coin's front face u ...

  2. Maximum Flow(2017 ACM-ICPC 亚洲区(西安赛区)网络赛 E)

    Problem Description Given a directed graph with nn nodes, labeled 0,1,⋯,n−1. For each <i, j> s ...

  3. 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 E Maximum Flow

    原题解链接:http://blog.csdn.net/kkkkahlua/article/details/78009087 他用的最小割的来求解最大流.认为只要讨论每一个点到0和n-1那个更小哪条边就 ...

  4. 2016 ACM/ICPC亚洲区青岛站现场赛(部分题解)

    摘要 本文主要列举并求解了2016 ACM/ICPC亚洲区青岛站现场赛的部分真题,着重介绍了各个题目的解题思路,结合详细的AC代码,意在熟悉青岛赛区的出题策略,以备战2018青岛站现场赛. HDU 5 ...

  5. 2017 ACM-ICPC 亚洲区(乌鲁木齐赛区)网络赛B: Out-out-control cars

    问题 B: Out-out-control cars 题目描述 Two out-of-control cars crashed within about a half-hour Wednesday a ...

  6. Skiing(2017 ACM-ICPC 亚洲区(乌鲁木齐赛区)网络赛 H)

    Problem Description In this winter holiday, Bob has a plan for skiing at the mountain resort. This s ...

  7. 计蒜客-2017 ACM-ICPC 亚洲区(乌鲁木齐赛区)网络赛H题Skiing(拓扑序求DAG最长路)

    题意: 给定一个有向无环图,求该图的最长路. 思路: 由于是有向无环图,所以最长路肯定是一个入度为0到出度为0的路径,拓扑序在确定当前点之前能够考虑到所有到它的情况,所以最后取个最值即可. 代码: # ...

  8. 2017 ACM/ICPC(西安)赛后总结

    早上8:00的高铁,所以不得不6点前起床,向火车站赶--到达西安后已经是中午,西工大距离西安北站大概3小时车程的距离,只好先解决午饭再赶路了--下午3.30的热身赛,一行人在3.35左右赶到了赛场,坐 ...

  9. 2010 ACM/ICPC Online-Contest-SCU[四川赛区网络预选赛]

    Problem A.A Simple Problem 比赛时唯一做出来的一道题. 描述: Time limit: 1 second Memory limit: 256 megabytes There' ...

  10. 2017acm乌鲁木齐赛区网络赛F题tarjan缩点

    poj1236是问把一棵树变成强联通分量,于是答案就是rudu为0的和出度为0的最大值,因为假设入度为0的多一些,先每个出度为0的连接一个入度为0的,那么还剩一些入度为0的,这时候入度为0的随意连接一 ...

最新文章

  1. 源码阅读:AFNetworking(十六)——UIWebView+AFNetworking
  2. linux怎么安装java环境变量_如何简单的在linux上安装jdk并配置环境变量
  3. Github | 深度神经网络(DNN)与生成式对抗网络(GAN)模型总览
  4. Linux 中 用cat 输出文件内容
  5. 打开u盘显示参数错误
  6. 代购源码,淘宝代购系统源码,代购程序,代购系统源码PHP前端源码参数说明
  7. oracle表连接查询逗号隔开_Oracle多表连接查询
  8. Oracle连接不上解决办法合集
  9. 谷歌浏览器(Chrome)输入框总是有历史输入记录,解决办法
  10. 微软surface屏幕测试软件,【微软 Surface Pro 3 平板电脑使用感受】屏幕|软件_摘要频道_什么值得买...
  11. 数据挖掘(二)预测潜在贷款发放客户
  12. LRS+XAPI教育学习记录(安装lrs,以及用xapi传输数据到lrs)
  13. miumiu音乐app总结
  14. Java2实用教程(第六版)第一章习题答案
  15. BAL数据集格式解读
  16. java实现动漫论坛
  17. JavaScript 之封装、继承、多态
  18. Windows批处理——批量新建文件夹
  19. pycharm运行sh文件的方法
  20. 2016年中国云服务器产品十大品牌排行榜

热门文章

  1. POI与easyPOI版本冲突问题
  2. “超级病毒”爆发,专杀杀毒软件!
  3. 怎么将计算机恢复到前一天的状况,我的word文档保存过后,发现要恢复到保存前的状态怎么办啊?...
  4. mysql 高级语法_3、sql高级语法(一)
  5. android 应用图标缓存清理,垃圾缓存清理大师
  6. 黄金3月...人才招聘高峰期,找工作真的有这么难吗?
  7. ES6 深入理解 ${ } 模版
  8. matlab 经纬度插值,给定两个经纬度,以及插值n,求出中间n个经纬度的值
  9. 9月3日上海见!明汯投资、JPMorgan、路博迈、贝莱德建信都来啦~
  10. java基础 根据年龄进行划分