ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

由一道排序题所学到的知识 L1-7 等级排序

2022-02-05 15:02:36  阅读:161  来源: 互联网

标签:输出 include 所学 cout int 玩家 L1 排序 输入


目录

所学到的知识:

题目:

输入格式:

输出格式:

输入样例:

输出样例:

代码:


所学到的知识:

vector<int> v(n) : 表示一个容量为n的vector

vector<int>v[n] : 表示n个vector v,容量不确定。相当于 vector<vector<int>> v(n)

有二维数组那味。

ios::sync_with_stdio(false);   写在main函数里即可.

这个可以大幅提高大数据的输入和输出以节省时间.

C++写C cin和cout的输入和输出效率比scanf和printf低,原来而cin,cout之所以效率低,是因为先把要输出的东西存入缓冲区,再输出,导致效率降低,而这段语句可以来打消iostream的输入 输出缓存,可以节省许多时间,使效率与scanf与printf相差无几,还有应注意的是scanf与printf使用的头文件应是stdio.h而不是 iostream。

还有此题中学到的有: C++增强for循环

#include <iostream>
using namespace std;

int main()
{
	int array[] = { 1,1,2,3,5,8 };

	//常规for循环
	for (int i = 0; i < sizeof(array) / sizeof(array[0]); i++)
	{
		cout << array[i] << " ";
	}
	cout << endl;

	for (auto item : array) // 类型自动推导auto关键字
	{
		cout << item << " ";
	}

	return 0;
}

 

#include <iostream>
#include <set>
using namespace std;
int main()
{
	multiset<int> ms = { 1,2,6,2,4,3,3,8 };
	//增强for循环输出
	for (auto item : ms)
	{
		cout << item << " ";
	}
	cout << endl;

	//迭代器模式输出
	for (multiset<int>::iterator it = ms.begin(); it != ms.end(); it++)
	{
		cout << *it << " ";
	}

	return 0;
}

 

题目:

小A是一个游戏爱好者,他对游戏里的等级有着奇怪的执念。现在他知道游戏服务器里的玩家编号与等级(游戏的等级上限是100),他想要你根据等级从小到大输出玩家编号。

输入格式:

输入共三行。

第一行输入一个正整数N(N≤3×106)

第二行输入N个正整数a1​,a2​,...,aN​, 其中ai​(ai​≤109)表示第i个玩家的编号

第三行输入N个正整数b1​,b2​,...,bN​, 其中bi​(1≤bi​≤100)表示第i个玩家的等级

数据保证没有两个玩家拥有相同的编号。

请注意:由于输入输出数据规模过大,请尽可能使用scanf/printf等较快的输入输出方式。

输出格式:

根据等级从小到大输出玩家编号, 若等级一致,则根据输入的先后顺序输出玩家编号, 以换行作为分割。

输入样例:

5
123123  321321 2222 1 3
1 1 100 3 2

输出样例:

123123
321321
3
1
2222

代码:

#include<iostream>
#include <vector>
using namespace std;
int main() {
	int n;
	scanf("%d", &n);
	vector<int>v[101], a, b;
	for(int i=0;i<n;i++)
	{
		int t;
		scanf("%d", &t);
		a.push_back(t);
	}
	for (int i = 0;i < n;i++)
	{
		int t;
		scanf("%d", &t);
		b.push_back(t);
	}
	for (int i = 0;i < n;i++) {
		v[b[i]].push_back(a[i]);
	}
	for (int i = 0;i <=100;i++)
	{
		for (int t : v[i])
			printf("%d\n", t);
	}
	return 0;
}


 

标签:输出,include,所学,cout,int,玩家,L1,排序,输入
来源: https://blog.csdn.net/nahnah_/article/details/122789406

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有