
开数组 读入数据
记录最小值和最大值
每次读入x;
让ax++;
从最小值开始 向上扫 当扫到ax==0时候为断号
扫到ax>1为重号;
该题的小技巧
未知长度的数据的读入方式
1.首先在头文件敲上
#include<sstream>
#include<string>
#include<cstring>
初始化 一个字符串line
string line ;
3.先敲一个 getline(cin,line); 忽略掉第一行回车
int T;
cin>>T;
while(T--){
getline(cin,line);
stringstream ssin(line);
int x;
while(ssin>>x){
//逐个读入处理
}
}
完整代码
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include <sstream>
#include<string>
using namespace std;
const int N=1e5+10;
int i=0;
int cnt=0;
int aN;
int main(){
int cnt;
cin >> cnt;
string line;
int minn=1e7,maxx=-1;
getline(cin, line); // 忽略掉第一行的回车
while (cnt -- )
{
getline(cin, line);
stringstream ssin(line);
int x;
while (ssin >> x) {
ax++;
maxx=max(maxx,x);
minn=min(minn,x);
}
}
int n,m;
for(int i=minn;i<=maxx;i++){
if(ai>1){
n=i;
}
if(ai==0){
m=i;
}
//cout <<i<<' '<<ai<<endl;
}
cout<<m<<' '<<n;
return 0;
}