题解:P11156 【MX-X6-T2】もしも
xyx404
·
·
题解
题目传送门。
思路
本题为数学题,需要找规律。
我们可以尝试在 a_n 前面放 1,因为 a_i 等于 \dfrac{a_{i-2}}{a_{i-1}} 向上取整,所以当 i 等于 n 时某个数乘 1 要等于 a_n 很明显 a_n 乘 1 会等于 a_n,然后是 i 等于 n-1 时,a_i 等于 \dfrac{a_{i-2}}{a_{i-1}} 向上取整,又因为 a_{n-1} 等于 1,所以 a_{i-2} \le a_{i-1},是不是又可以放一了,之后一直重复可以得到序列中只有 1 和 a_n 这两个数并且是交替出现的。
因为第一个 1 是放在 a_n 前的,1 和 a_n 这两个数交替出现,所以当 n 是偶数时 a_1 是 1,当 n 是奇数时 a_1 是 a_n。
举两个例子:
$n=6,a_n=10$ 时,根据之前的思路得出的序列为 $1,10,1,10,1,10$。
算一下确实是满足题目中的条件的。
## 代码:
```cpp
#include<bits/stdc++.h>
using namespace std;
#define LL long long
int n,a,t;
int main(){
cin>>t;
while(t--){
cin>>n>>a;
if(n%2==0){
cout<<1<<" "<<a<<"\n";
}
else cout<<a<<" 1\n";
}
return 0;
}
```