1 条题解

  • 0
    @ 2025-8-24 23:04:44

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar Zskioaert1106
    值得一提的是,我在四个洛谷有 Remote Judge 的国外 OJ 上的账号都不是我的洛谷用户名。

    搬运于2025-08-24 23:04:44,当前版本为作者最后更新于2024-10-04 07:14:48,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    题目传送门:P11156 【MX-X6-T2】もしも

    最真诚的提示:Special Judge 的输出样例都没用。

    题目分析

    我们以最后一组样例为例:a6=3a_6=3,那要让 a4a5=3\dfrac{a_4}{a_5}=3,最小的办法就是 a4=3,a5=1a_4=3,a_5=1。让 a3a4=1\dfrac{a_3}{a_4}=1,同时 a4=3a_4=3,则 a3a_3 最小可以等于 11

    按照上面的构造方法,我们得到了 1,3,1,3,1,31,3,1,3,1,3 的数列。我们可以发现,上述规律对于任意一个 nn 为偶数的 ana_n 都适用。

    如果 nn 为奇数呢?

    n=5n=5 为例,则 a4=1,a3=a5,a2=1,a1=a5a_4=1,a_3=a_5,a_2=1,a_1=a_5

    所以我们得到了规律:

    nn 为偶数时,可以构造 a1=1,a2=an,a3=1,a4=an,a_1=1,a_2=a_n,a_3=1,a_4=a_n,\dots 的数列;

    nn 为奇数时,可以构造 a1=an,a2=1,a3=an,a4=1,a_1=a_n,a_2=1,a_3=a_n,a_4=1,\dots 的数列。

    代码实现

    nn 为偶数时,输出 a1=1,a2=ana_1=1,a_2=a_n

    nn 为奇数时,输出 a1=an,a2=1a_1=a_n,a_2=1

    #include<iostream>
    using namespace std;
    void doing(int n,int a){
    	int a1,a2;
    	if(n&1)cout<<a<<' '<<1<<'\n';
    	else cout<<1<<' '<<a<<'\n';
    	return ;
    }
    int main(){
    	int t;
    	cin>>t;
    	while(t--){
    		int n,a;
    		cin>>n>>a;
    		doing(n,a);
    	}
    	return 0;
    }
    

    AC 记录

    • 1

    信息

    ID
    10763
    时间
    2000ms
    内存
    512MiB
    难度
    2
    标签
    递交数
    0
    已通过
    0
    上传者