1204. 错误票据

在这里插入图片描述
思路 用特殊的读入方法,将这些数字读入数组中,然后用sort排序,前后两个数相同,说明重号,前后两个数的大小差两位,说明中间断号
代码

# include<iostream>
# include<cstdio>
# include<cstring>
# include<algorithm>
using namespace std;

const int N = 100010;
int a[N],n;

int main()
{
    
    
    int cnt;
    cin >> cnt;
    int tp;
    while(cin >> tp)//不管几行,直接读到文件尾部停止(不通用)
    {
    
    
        a[n] = tp;
        n++;
    }
    sort(a,a + n);
    int res1 = 0,res2 = 0;
    for(int i = 1;i < n;i++)
    {
    
    
        if(a[i] == a[i - 1])
        {
    
    
            res1 = a[i];
        }
        if(a[i] - a[i - 1] == 2)
        {
    
    
            res2 = a[i] - 1;
        }
    }
    cout << res2 << " " << res1 << endl;
   
    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_45812180/article/details/114544065