qsort直接排序。

 #include <stdio.h>
#include <string.h>
#include <stdlib.h> #define MAXNUM 1000 typedef struct {
int index;
double statis;
} node_st; node_st nodes[MAXNUM]; int comp1(const void *a, const void *b) {
node_st *p = (node_st *)a;
node_st *q = (node_st *)b; if (p->statis == q->statis)
return p->index - q->index;
else
return (q->statis>p->statis) ? :-;
} int comp2(const void *a, const void *b) {
node_st *p = (node_st *)a;
node_st *q = (node_st *)b; return q->index - p->index;
} void output(int m) {
int i;
for (i=; i<=m; ++i)
printf("index=%d, statis:%lf\n", nodes[i].index, nodes[i].statis);
} int main() {
int n, m, k;
int i;
double tmp; while (scanf("%d %d %d", &n, &m, &k) != EOF) {
memset(nodes, , sizeof(nodes));
while (n--) {
for (i=; i<=m; ++i) {
scanf("%lf", &tmp);
nodes[i].statis += tmp;
}
}
for (i=; i<=m; ++i)
nodes[i].index = i;
qsort(nodes+, m, sizeof(node_st), comp1);
//output(m);
qsort(nodes+, k, sizeof(node_st), comp2);
//output(k);
for (i=; i<=k; ++i) {
if (i == )
printf("%d", nodes[i].index);
else
printf(" %d", nodes[i].index);;
}
printf("\n");
} return ;
}

01背包也可解。

 #include <stdio.h>
#include <string.h> #define MAXNUM 1000 double dp[MAXNUM];
double statis[MAXNUM];
char visit[MAXNUM][MAXNUM]; double max(double a, double b) {
return a>b ? a:b;
} int main() {
int n, m, k;
int i, j, p;
double tmp; while (scanf("%d%d%d",&n,&m,&k) != EOF) {
memset(dp, , sizeof(dp));
memset(statis, , sizeof(statis));
memset(visit, , sizeof(visit)); while (n--) {
for (i=; i<=m; ++i) {
scanf("%lf", &tmp);
statis[i] += tmp;
}
} for (i=; i<=m; ++i) {
for (j=k; j>; --j) {
tmp = dp[j-] + statis[i];
if (dp[j] < tmp) {
dp[j] = tmp;
for (p=; p<i; ++p)
visit[j][p] = visit[j-][p];
visit[j][i] = ;
}
}
}
i = ;
for (p=m; p>; --p) {
if (visit[k][p]) {
if (i)
printf(" %d", p);
else
printf("%d", p);
++i;
}
}
printf("\n");
} return ;
}

最新文章

  1. Lua-面向对象中类的构造
  2. 利用fiddler模拟发送json数据的post请求
  3. #include &lt;NOIP2008 Junior&gt; 双栈排序 ——using namespace wxl;
  4. choco命令
  5. [反汇编练习] 160个CrackMe之014
  6. QT:程序忙碌时的进度条——开启时间循环,等结束的时候再退出
  7. Git 开发新的功能分支
  8. Android进程间通信与数据共享(ppt)
  9. 一位IT男的7年工作经验总结
  10. Bootstrap 栅格系统简单整理
  11. saiku中文维度,补充说明
  12. Java编程思想_笔记_第二章_一切都是对象
  13. 第9章 使用客户端凭据保护API - Identity Server 4 中文文档(v1.0.0)
  14. 022_word中如何正确的使用正则表达式进行搜索
  15. Convert a VMDK (VMWare) file to VHDX (Hyper-V)
  16. 【LeetCode每天一题】4Sum(4数之和)
  17. TX2-static-dhcp-network
  18. Disk Genius 彻底清理硬盘空闲
  19. PHP 7.0 EOL (PHP 技术支持相关)
  20. 跟老齐学Django 项目实战笔记

热门文章

  1. 第三篇:gradle 编译 Android app 概览
  2. ISA2006 下建立VPN连接时出现“错误800”时的解决办法
  3. ios专题 -KVO , KVC
  4. 10.08_逛逛OSC
  5. 04_过滤器Filter_01_入门简述
  6. oracle 备份脚步
  7. php计算最后一次,第一次字符串出现位置
  8. substring和substr的用法
  9. window.onresize 多次触发的解决方法
  10. 64位AutoItLibrary的安装