AcWing 1204. 错误票据
原题链接
简单
作者:
满目星河_0
,
2021-04-16 15:05:19
,
所有人可见
,
阅读 295
详细注释(包括基础用法)
#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
#include<sstream>
using namespace std;
const int N=100010;
int a[N];
int n;
//关键在于学会sstream中的stringstream类,来读入一整行的输入并把它们分离开。
int main(){
int cnt;
cin>>cnt;
string line;
getline(cin,line);
//从输入流读入一行到变量string s,及时是空格也可以读入。
//–直到出现以下情况为止:
//•读入了文件结束标志
//•读到一个新行(有重载函数可以指定行分隔符,默认是"\n".)
//•达到字符串的最大长度
//–如果getline没有读入字符,将返回false,可用于判断文件是否结束.
while(cnt--){
getline(cin,line);
stringstream ssin(line);//stringstream可以用于分割被空格、制表符等符号分割的字符串
while(ssin>>a[n]) n++;
}
sort(a,a+n);
// for(int i=0;i<n;i++) cout<<a[i]<<" ";
int res1=0,res2=0;
for(int i=1;i<n;i++){
if(a[i]==a[i-1]) res2=a[i];//重号
else if(a[i]-a[i-1]>=2) res1=a[i]-1; //断号
}
cout<<res1<<" "<<res2;
return 0;
}