其他分享
首页 > 其他分享> > 由一道排序题所学到的知识 L1-7 等级排序

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

作者:互联网

目录

所学到的知识:

题目:

输入格式:

输出格式:

输入样例:

输出样例:

代码:


所学到的知识:

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