1 条题解

  • 0
    @ 2025-8-24 22:40:33

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar alex_liu
    玲珑骰子安红豆,入骨相思知不知。琉璃梳子抚青丝,画心牵肠痴不痴。

    搬运于2025-08-24 22:40:33,当前版本为作者最后更新于2022-10-24 18:23:49,作者可能在搬运后再次修改,您可在原文处查看最新版

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

    以下是正文


    题目传送门

    思路:

    比较水的模拟,每次输入一个数 xx,就将记录 xx 出现了多少次的 a[x]+1a[x]+1,查找断号只需要从头到尾扫一遍,对于每一个 ii,当 a[i1]=1a[i-1]=1a[i+1]=1a[i+1]=1a[i]=0a[i]=0 时便可以判定为断号。

    代码:

    #include<bits/stdc++.h>
    #define int long long
    using namespace std;
    int n,x,a[100005],ans1,ans2;
    signed main(){
    	cin>>n;
    	while(cin>>x)a[x]++;
    	for(int i=1;i<=10004;i++){
    		if(a[i-1]&&a[i+1]&&!a[i])ans1=i;
    		if(a[i]>1)ans2=i;
    		if(ans1&&ans2)break;
    	}
    	cout<<ans1<<" "<<ans2<<endl; 
    	return 0;
    }
    
    
    

    代码中添加了一些小优化,如果断号和重号都已经判定出来了,就可以直接跳出循环。

    • 1

    信息

    ID
    5898
    时间
    1000ms
    内存
    128MiB
    难度
    1
    标签
    递交数
    0
    已通过
    0
    上传者