C++求解!
1.
题目描述
a手里有一份名单,名单上有 nn 个同学的名字和他们对应分数 a_ia
i
,按照道理来说名单应该是按照分数从高到低排名的,但是a觉得这次的分数意义不大,所以不想让排名按照分数排序,会做出 mm 次交换操作,每次操作交换当前名单(名单是动态变化的,并非原始名单)上第 xx 和 第 yy 个同学的顺序。 现在a想知道所有交换操作结束后,最终名单是什么样的?
输入格式
第一行两个整数 nn, mm,表示 nn 名同学和 mm 次交换操作。
接下来 nn 行,每行一个字符串和一个整数,表示原始名单上同学的名字和对应的分数。
接下来 mm行,每行两个整数 x,yx,y,表示交换第 xx和第 yy名同学。
输出格式
nn 行,为修改后的名单,每行一个名字。
样例
输入数据 1
3 1
xiaoke 95
xiaoda 97
xiaoming 80
2 3
输出数据 1
xiaoke
xiaoming
xiaoda
输入数据 2
5 2
aa 1
b 2
c 3
d 4
e 5
1 3
2 5
输出数据 2
c
e
aa
d
b
数据范围
占比 数据范围
100%100% 1\le n,m\le 1000,1\le a_i\le 10001≤n,m≤1000,1≤a i≤1000
2.
题目描述
很多同学都存在偏科的现象,为了提高大家的分数,小姜研发了一款高分喷雾,喷雾的效果是被喷到的同学的所有科目中的最低分数可以在原有的基础上提高五分,但是代价是要在所有科目中的最高分数上减少五分。比如说小姜的成绩是 98,23,8498,23,84 ,喷过喷雾之后分数就会变成 93,28,8493,28,84。是不是非常棒呢,但是小姜的喷雾有限,他只能且一定会对 kk 个不同的同学使用。现在小姜想知道,在使用完喷雾之后,大家的分数各是多少呢?
输入格式
第一行,两个整数 n,kn,k 表示有 nn 个同学,kk 次喷雾使用。 接下来 nn 行,每行一个字符串表示同学的姓名,之后有三个整数,分别表示这名同学的三科分数,保证一个同学的三科分数各不相同。 接下来一行,kk 个整数 a_ia
i
,表示高分喷雾喷了第 a_ia
i
个同学。
输出格式
nn行,每行输出该同学的姓名和他最终的三科分数。
样例
输入数据 1
5 2
a 1 2 3
b 2 4 6
c 3 5 7
d 4 6 8
e 5 7 9
1
2
输出数据 1
a 6 2 -2
b 7 4 1
c 3 5 7
d 4 6 8
e 5 7 9
提示
样例1解释
对第一位和第二位同学使用了高分喷雾,所以1+5=6,3-5=-2;2+5=7,6-5=1。
数据范围
占比 数据范围
100%100% 1\le n,k,a_i\le 10000,1\le 每科原始成绩\le 1001≤n,k,a i≤10000,1≤每科原始成绩≤100