A11371 | GCD of Polynomials
时间限制1s
内存限制256MB
通过 / 提交0/0
题目描述
Suppose you have two polynomials  and . Then polynomial  can be uniquely represented in the following way:
This can be done using [long division](https://en.wikipedia.org/wiki/Polynomial_long_division). Here,  denotes the degree of polynomial $P(x)$ .  is called the remainder of division of polynomial  by polynomial , it is also denoted as .
Since there is a way to divide polynomials with remainder, we can define Euclid's algorithm of finding the greatest common divisor of two polynomials. The algorithm takes two polynomials . If the polynomial  is zero, the result is , otherwise the result is the value the algorithm returns for pair . On each step the degree of the second argument decreases, so the algorithm works in finite number of steps. But how large that number could be? You are to answer this question.
You are given an integer $n$ . You have to build two polynomials with degrees not greater than $n$ , such that their coefficients are integers not exceeding $1$ by their absolute value, the leading coefficients (ones with the greatest power of $x$ ) are equal to one, and the described Euclid's algorithm performs exactly $n$ steps finding their greatest common divisor. Moreover, the degree of the first polynomial should be greater than the degree of the second. By a step of the algorithm we mean the transition from pair  to pair .
This can be done using [long division](https://en.wikipedia.org/wiki/Polynomial_long_division). Here,  denotes the degree of polynomial $P(x)$ .  is called the remainder of division of polynomial  by polynomial , it is also denoted as .
Since there is a way to divide polynomials with remainder, we can define Euclid's algorithm of finding the greatest common divisor of two polynomials. The algorithm takes two polynomials . If the polynomial  is zero, the result is , otherwise the result is the value the algorithm returns for pair . On each step the degree of the second argument decreases, so the algorithm works in finite number of steps. But how large that number could be? You are to answer this question.
You are given an integer $n$ . You have to build two polynomials with degrees not greater than $n$ , such that their coefficients are integers not exceeding $1$ by their absolute value, the leading coefficients (ones with the greatest power of $x$ ) are equal to one, and the described Euclid's algorithm performs exactly $n$ steps finding their greatest common divisor. Moreover, the degree of the first polynomial should be greater than the degree of the second. By a step of the algorithm we mean the transition from pair  to pair .
输入格式
You are given a single integer $n$ ( $1<=n<=150$ ) — the number of steps of the algorithm you need to reach.
输出格式
```plain
Print two polynomials in the following format.
```
In the first line print a single integer $m$ ( $0<=m<=n$ ) — the degree of the polynomial.
In the second line print $m+1$ integers between $-1$ and $1$ — the coefficients of the polynomial, from constant to leading.
The degree of the first polynomial should be greater than the degree of the second polynomial, the leading coefficients should be equal to $1$ . Euclid's algorithm should perform exactly $n$ steps when called using these polynomials.
If there is no answer for the given $n$ , print -1.
If there are multiple answer, print any of them.
Print two polynomials in the following format.
```
In the first line print a single integer $m$ ( $0<=m<=n$ ) — the degree of the polynomial.
In the second line print $m+1$ integers between $-1$ and $1$ — the coefficients of the polynomial, from constant to leading.
The degree of the first polynomial should be greater than the degree of the second polynomial, the leading coefficients should be equal to $1$ . Euclid's algorithm should perform exactly $n$ steps when called using these polynomials.
If there is no answer for the given $n$ , print -1.
If there are multiple answer, print any of them.
输入输出样例
输入 #1
1
输出 #1
1 0 1 0 1
输入 #2
2
输出 #2
2 -1 0 1 1 0 1
In the second example you can print polynomials $x^{2}-1$ and $x$ . The sequence of transitions is
$(x^{2}-1,x)→(x,-1)→(-1,0).$ There are two steps in it.
$(x^{2}-1,x)→(x,-1)→(-1,0).$ There are two steps in it.
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?
提交通过
评测结果:Accepted