首页 > 其他 > 详细

蓝桥杯 1458: [蓝桥杯][2013年第四届真题]错误票据 Easy only once *注意输入问题

时间:2020-02-08 17:53:53      阅读:64      评论:0      收藏:0      [点我收藏+]

基本思路:

典型的hash散列;

 

关键点:

输入问题:

这里涉及到了行号输入和EOF输入,需要注意一下;

 

本题完全可以利用EOF输入,但是示例中有了新的行号输入思想,要注意一下;

利用cin读入数字后,可以利用cin.get()来判断空格和回车问题,进行判断,按个进行判断,从而识别出换行符号;

 

#include<iostream>
#include<stdlib.h>
#include<stdio.h>
#include<vector> 
#include<string>
#include<math.h>
#include<algorithm>
#include<cstring>
using namespace std;
using std::vector;
const int maxn = 100200;
int ar[maxn];

int main(){
	fill(ar, ar + maxn, 0);
	int n;
	cin >> n;
	getchar();
	int min=maxn;
	int max=-1;
	for (int i = 0; i < n; i++) {
		int a;
		//cout << 111 << endl;
		while (cin>>a){
			if (min > a)
				min = a;
			if (max < a)
				max = a;
			ar[a] ++;
			char c = cin.get();
			if (c == ‘\n‘)
				break;
		}	
	}
	int ansa, ansb;
	for (int i = min; i <= max; i++) {
		if (ar[i] == 0)
			ansa = i;
		if (ar[i] == 2)
			ansb = i;
	}
	cout << ansa << " " << ansb;
}

  

蓝桥杯 1458: [蓝桥杯][2013年第四届真题]错误票据 Easy only once *注意输入问题

原文:https://www.cnblogs.com/songlinxuan/p/12283911.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!