错误票据

stringstream可以吞下不同类型,然后吐出接收对象对应的类型

#include<bits/stdc++.h>
using namespace std;
int x[100005];
int book[100005];
int main()
{
    int n;
    scanf("%d", &n);
    getchar();
    string a[105];
    for(int i=1; i<=n; i++)
        getline(cin,a[i]);
    int len=0;
    int t,q,w;
    int minn,maxx;
    minn=99999999;
    maxx=-1;
    for(int i=1; i<=n; i++)
    {
        stringstream ss(a[i]);
        while(ss>>t)
        {
            x[++len]=t;
        }
    }
    for(int i=1; i<=len; i++)
    {
        minn=min(minn,x[i]);
        maxx=max(maxx,x[i]);
        book[x[i]]++;
        if(book[x[i]]>1)
        {
            w=x[i];
        }
    }

    for(int i=minn; i<=maxx; i++)
    {
        if(book[i]==0)
        {
            q=i;
            break;
        }
    }
    printf("%d %d", q, w);

}
原文地址:https://www.cnblogs.com/dongdong25800/p/10547202.html