HDOJ1031数学题

/*
	1031题意:
	n*m的矩阵
	把第m列的所有元素相加后按从大到小排序,若和相同的话,按列数的升序排序
	最后输出前k的列数号
	sort,qsort的应用
*/ 

#include <iostream>
#include <algorithm>
#include <stdio.h>
#include <math.h>
#include <map>
#include <set>
#include <vector>
#include <string>
#include <cstring>
#include <sstream>
using namespace std;

#define input freopen("input.txt","r",stdin);
#define output freopen("output.txt","w",stdout);
#define For1(i,a,b) for (i=a;i<b;i++)
#define For2(i,a,b) for (i=a;i<=b;i++)
#define Dec(i,a,b) for (i=a;i>b;i--)
#define Dec2(i,a,b) for (i=a;i>=b;i--)
#define Sca_d(x) scanf("%d",&x)
#define Sca_s(x) scanf("%s",x)
#define Sca_c(x) scanf("%c",&x)
#define Sca_f(x) scanf("%f",&x)
#define Sca_lf(x) scanf("%lf",&x)
#define Fill(x,a) memset(x,a,sizeof(x))
#define MAXN 100001

template <typename T>
T gcd(T a,T b)
{
    return b==0?a:gcd(b,a%b);
}

template <typename T>
T lcm(T a,T b)
{
    return a/gcd(a,b)*b;
}

bool book[MAXN];

struct Node
{
	double plus;
	int pos;
}node[MAXN];

int cmp(const void *a,const void *b)
{
	struct Node *c =(Node *)a;
	struct Node *d =(Node *)b;
	if (c->plus != d->plus) return d->plus - c->plus;
	return c->pos - d->pos;
}

int main()
{
	//input;
	int n,m,k,i,j;
	double num;
	while(cin>>n>>m>>k)
	{
		Fill(book,0);
		Fill(node,0);
		For2(i,1,n)
			For2(j,1,m)
			{
				Sca_lf(num);
				node[j].plus+=num;
			}
		For2(j,1,m) node[j].pos=j;
		qsort(node+1,m,sizeof(node[0]),cmp);
		For2(i,1,k)
			book[node[i].pos]=1;
		int space_flag=0;
		Dec2(i,m,1)
			if (book[i])
				if (space_flag)
					printf(" %d",i);
				else
					printf("%d",i),space_flag=1;
		cout<<endl;
	}
	return 0;
}

时间: 2024-10-12 04:35:55

HDOJ1031数学题的相关文章

HDU5344——数学题——MZL&#39;s xor

MZL loves xor very much.Now he gets an array A.The length of A is n.He wants to know the xor of all (Ai+Aj)(1≤i,j≤n)The xor of an array B is defined as B1 xor B2...xor Bn Input Multiple test cases, the first line contains an integer T(no more than 20

【算法编程】小学数学题难倒博士

昨天在科学网上得知这样一个新闻<越南小学数学题难倒博士>,据悉题目来自越南保禄小学三年班,不过报道称该题难倒了上至博士下至家长,未免也太言过其实了. 题目描述 学生需要在下图表格中按由上至下.从左到右的顺序,填入1~9的数字,可重复填写,并按先乘除后加减(图中冒号代表除法)的运算法则,完成整条算式. 解题方法 显然,这题对于我们这种程序员来说完全不是问题,只要在大一上过C语言的学生(我们学校全校都学过C,即使是文科专业)基本上都可以用九重for循环来穷举解出此题,下面我分别用C和Matlab实

hdu 4974 A simple water problem(数学题)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4974 Problem Description Dragon is watching competitions on TV. Every competition is held between two competitors, and surely Dragon's favorite. After each competition he will give a score of either 0 or

一道有趣的数学题

班主任给了我一道数学题: 求证an都能表示成两个自然数的平方和. [分析] 不会就打表(OI后遗症) 那么我们发现an的第2个平方在an+1出现在了第一个(按从小到大) 这个就很py了啊,再看看第二个有啥关系..咦好像是比两倍多一点,多多少呢?咦,1.3.7.17--这不就是我找的那个规律了吗 啊我们就能猜想: 然后我们归纳一波 对于n<=5显然成立(上表),对于n>=6: 假设对于n=i成立,那么就有 目标:证明下式成立 这是啥呢?令A'=B,B'=A+2B,代入即可. 剩下的故事啊就是把递

一道很有意思的数学题

题目:某个家庭中有2个小孩,已知其中一个是女孩,则另一个是女孩的概率是多少? 答案:1/3 今天上概率课,想起了高中的这一道数学题.当初在高中对这个答案真的是百思不得其解,始终认为是1/2.生男生女和另一个孩子的性别有什么必然的联系吗?最后迫于升学的压力,不能任性啊~!!!只得背过答案,碰到前后性别不一样,就是2/3,一样就是1/3. 今天想起来,在百度上的找了好多关于这个问题理解,虽然有说1/3的,有说1/2的,但是仔细观察后发现,其实关于各种答案的问题描述还是有细微的差别的.最后在这里: 一

python笔记1-用python解决小学生数学题

前几天有人在群里给小编出了个数学题: 假设你有无限数量的邮票,面值分别为6角,7角,8角,请问你最大的不可支付邮资是多少元? 小编掰着手指头和脚趾头算了下,答案是:1.7元 那么问题来了?为啥是1.7呢,于是小编用python解决了这个小学数学题. 一.排列组合 假设6.7.8角各有50张(50张够了),先计算出所有的可能组合 二.排序.去重 先对组合就行排序,从小到大的顺序,排队站好,这里用到sort()函数(要是你用冒泡排序,那你就out啦!) sort函数只是对list序列排序,并没有返回

geometry(简单数学题)

geometry Accepts: 324 Submissions: 622 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Problem Description There is a point PP at coordinate (x,y)(x,y). A line goes through the point, and intersects with the postive p

【整理】最近做的几道数学题

数学题也是有意思 那么总结一下 T1.[Bzoj2751][HAOI2012]容易题 题意 有一个数列A已知对于所有的A[i]都是1~n的自然数,并且知道对于一些限制即A[i]不能取哪些值,我们定义一个数列的积为该数列所有元素的乘积,求出所有可能的数列的积的和. 题解 考虑一个式子(...)(...)(...),()内为一些数相加,根据乘法分配律,打开这个式子就是每次从每个括号中选一个元素,再把所有可能选择的结果加起来. 这件事情就是我们题目的设问,于是我们只要算出来每个位置sigma可能的选择

hdu 4956 Poor Hanamichi BestCoder Round #5(数学题)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4956 Poor Hanamichi Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 7    Accepted Submission(s): 4 Problem Description Hanamichi is taking part in