SSL 1255_佳佳的魔法照片_排序
2017-01-12 14:29
204 查看
题目描述
一共有n个人(以1–n编号)向佳佳要照片,而佳佳只能把照片给其中的k个人。佳佳按照与他们的关系好坏的程度给每个人赋予了一个初始权值W[i]。然后将初始权值从大到小进行排序,每人就有了一个序号D[i](取值同样是1–n)。按照这个序号对10取模的值将这些人分为10类。也就是说定义每个人的类别序号C[i]的值为(D[i]-1) mod 10 +1,显然类别序号的取值为1–10。第i类的人将会额外得到E[i]的权值。你需要做的就是求出加上额外权值以后,最终的权值最大的k个人,并输出他们的编号。在排序中,如果两人的W[i]相同,编号小的优先。思路
就是一个水排序,然后在mod是要注意一下+1O(nlogn)
#include <stdio.h> #inclu 4000 de <algorithm> using namespace std; struct arr { int w,l; }a[1000000]; int e[100]; int cam(arr a,arr b) { return (a.w>b.w)||(a.w==b.w&&a.l<b.l); } int main() { int n,k; scanf("%d%d",&n,&k); for (int i=1;i<=10;i++) scanf("%d",&e[i]); for (int i=1;i<=n;i++) { scanf("%d",&a[i].w); a[i].l=i; } sort(a+1,a+n+1,cam); for (int i=1;i<=n;i++) { a[i].w+=e[(i-1)%10+1]; } sort(a+1,a+n+1,cam); for (int i=1;i<=k;i++) printf("%d ",a[i].l); }
相关文章推荐
- 佳佳的魔法照片-ssl 1255
- 8.16 佳佳的魔法照片 1255
- vijosP1282 佳佳的魔法照片
- 普及练习场 排序Ex 魔法照片
- PID9 / 佳佳的魔法照片 ☆
- 佳佳的魔法照片
- 佳佳的魔法照片
- NDK 1407 佳佳的魔法照片(Magic Photo)
- [Vijos]P1282 佳佳的魔法照片
- SSL P1255 佳佳的魔法照片
- 题目:佳佳的魔法照片
- 排序ex——魔法照片
- 【排序+模拟】魔法照片 luogu-1583
- 洛谷1583 佳佳的魔法照片
- 洛谷 P1583 魔法照片
- 魔法照片-洛谷 1583
- SSL 1255_银河英雄传说_并查集
- 洛谷 P1583 魔法照片
- SSL 1549_水王争霸_排序
- 对抗女巫的魔法碎片(贪心,排序)