Codeforces Problem-136A Presents

Codeforces Problem-136A Presents

在这里插入图片描述
基本思想:

本题是一道礼物交换的问题,相当于给出一组数代表第i个人要将礼物送给第a[i]个人,可以用一个数组b[n]维护,也可以定义一个map容器记录信息,按照map容器的默认排序规则进行存储,二者的效果是一样的。最后再将结果输出即可。

AC代码:

#include <bits/stdc++.h>	//用数组实现
using namespace std;

int main()
{
	int n;
	cin>>n;
	int a[105],b[105];
	memset(a,0,sizeof(a));
	memset(b,0,sizeof(b));
	for (int i=1;i<=n;i++)
	{
		cin>>a[i];
		b[a[i]]=i;
	}
	for (int i=1;i<=n;i++)
		cout<<b[i]<<" ";
	return 0;
}
#include <bits/stdc++.h>	//用map容器实现
using namespace std;

int main()
{
	map<int,int> mp;
	int n;
	cin>>n;
	int a[105];
	memset(a,0,sizeof(a));
	for (int i=1;i<=n;i++)
	{
		cin>>a[i];
		mp[a[i]]=i;
	}
	map<int,int>::iterator it;
	for (it=mp.begin();it!=mp.end();it++)
		cout<<it->second<<" ";
	return 0;
}

版权声明:本文为weixin_50961321原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。