2013年蓝桥杯A组真题 1.错误票据 知识点:输入问题

题目:1.错误票据 - 蓝桥云课 (lanqiao.cn)

解析:2013年c++A组题7_哔哩哔哩_bilibili

这道题问题倒不是很难,但是输入输出比较麻烦:

js 复制代码
#include<bits/stdc++.h>
using namespace std;

vector<int>v; 
map<int,int>m;
int a[1005];

void s2i(string &temp,int &a)
{
	stringstream ss;
	ss<<temp;
	ss>>a;
}
int main()
{
    int line;cin>>line;getchar(); 
    
    int index=0;
	for(int i=0;i<line;i++)
	{
       string x;
		getline(cin,x);
		
		//拆分
		istringstream ss(x); 
		string temp;
	    while(getline(ss,temp,' ')) 
	    {
	        s2i(temp,a[index++]);
		}
	 
	 } 
	
		for(int i=1;i<index;i++)
		{
			if(a[i]==a[i-1]+2)printf("%d ",a[i]-1);
			
			if(a[i]==a[i-1])printf("%d",a[i]);
		}
	 
	 
	
	 
	return 0;
}

最后要排序,不排序就错了。这是没排序的:

原因:

没有排序时的数组a:

当遍历到a[i-1]=12,a[i]=10的时候,因为差值为2,又输出了a[i]-1,即11.

因此我们需要排序:

排完序的:

看答案没毛病,但是实际上还有一点小问题,就是假如我们在遍历的工程中先遇到重复的就直接输出了,但是题目要求一定要先输出断号的再输出重复的,因此我们需要用两个变量来保存一下,最后输出变量:

js 复制代码
#include<bits/stdc++.h>
using namespace std;


int a[10005];

void s2i(string &temp,int &a)
{
	stringstream ss;
	ss<<temp;
	ss>>a;
}
int main()
{
    int line;cin>>line;getchar(); 
    
    int index=0;
	for(int i=0;i<line;i++)
	{
       string x;
		getline(cin,x);
		
		//拆分
		istringstream ss(x); 
		string temp;
	    while(getline(ss,temp,' ')) 
	    {
	        s2i(temp,a[index++]);
		}
	 
	 } 
	 
     //cout<<index<<endl;  检查输入的数据个数 
     
	 int duanhao,chongfu;
	  sort(a,a+index);
		for(int i=1;i<index;i++)
		{
			if(a[i]==a[i-1]+2) duanhao=a[i]-1;
			
			if(a[i]==a[i-1])   chongfu=a[i];
		}
	 
	 printf("%d %d",duanhao,chongfu);

	 
	return 0;
}
相关推荐
汀、人工智能8 分钟前
[特殊字符] 第25课:合并两个有序链表
数据结构·算法·链表·数据库架构··合并两个有序链表
Hello.Reader13 分钟前
双卡 A100 + Ollama 生产部署从安装、踩坑、调优到最终可上线方案
linux·人工智能·算法
计算机安禾13 分钟前
【数据结构与算法】第30篇:哈希表(Hash Table)
数据结构·学习·算法·哈希算法·散列表·visual studio
xiaoye-duck14 分钟前
《算法题讲解指南:动态规划算法--子序列问题(附总结)》--32.最长的斐波那契子序列的长度,33.最长等差数列,34.等差数列划分II-子序列
c++·算法·动态规划
sinat_2554878127 分钟前
泛型:超级、扩展、列表·学习笔记
java·windows·学习·算法
切糕师学AI28 分钟前
Elasticsearch RRF(倒数排序融合)技术详解与实践
算法·elasticsearch·搜索引擎·混合搜索·rrf·归一化问题
lihao lihao34 分钟前
进程地址空间
数据结构·c++·算法
Byte不洛35 分钟前
LeetCode双指针经典题
c++·算法·leetcode·双指针
汀、人工智能36 分钟前
[特殊字符] 第16课:最小覆盖子串
数据结构·算法·数据库架构·图论·bfs·最小覆盖子串