早教吧 育儿知识 作业答案 考试题库 百科 知识分享

acm题,wronganswer,为什么?DescriptionJames得到了一堆有趣的硬币,于是决定用这些硬币跟朋友们玩个小游戏.在一个N行M列的表格上,每一个第i行第j列的格子上都放有一枚James的硬币,抛该硬币正面朝

题目详情
acm题,wrong answer,为什么?
Description
James得到了一堆有趣的硬币,于是决定用这些硬币跟朋友们玩个小游戏.在一个N行M列的表格上,每一个第i行第j列的格子上都放有一枚James的硬币,抛该硬币正面朝上的概率为Pij,所有抛硬币事件两两之间是相互独立的.
现在,玩家在M列硬币中,从每一列里各选择1枚,共M枚,构成一组.如此重复选择N组出来,且保证被选择过的硬币不能再选.选好组之后,每组的M枚硬币各抛一次,如果都是正面朝上,则该组胜利,总分赢得1分;否则该组失败,总分不加也不减.请问,如果让你自行选择硬币的分组,游戏总得分的数学期望的最大值是多少?
Input
输入有多组数据.每组数据第一行为N和M,1≤N≤100,1≤M≤10,以空格分隔.接下来有N行,每行M个小数,表示表格中对应的Pij.
输入以N=M=0结束,这组数据不输出结果.
Output
对于每组数据,输出对应游戏总得分的数学期望的最大值,四舍五入精确至4位小数.每组数据的输出占一行.
代码:
#include
#include
#include
#define N 101
#define M 11
int compare(const void *a,const void *b)
{
\x05return *(int*)b-*(int*)a;
}//
int main()
{
\x05float a[M][N]={};
\x05int m=0,
\x05\x05n=0;
\x05int i,j;
\x05float sum,Sum;
\x05while(scanf("%d %d",&n,&m) = EOF && m = 0 && n = 0)//***有可能会出错 ***
\x05{//大循环
\x05\x05sum=1;Sum=0;//初始化
\x05\x05memset(a,0,sizeof(a));
\x05\x05for(j=0;j
▼优质解答
答案和解析

主要问题出在比较函数上

#include
#include
#include
#define N 101
#define M 11
// 需要直接比较double,而不能返回差值
int compare(const void *a, const void *b)
{
double* da = (double*)a;
double* db = (double*)b;
if (*da > *db) {
return -1;
}
else if (*db > *da) {
return 1;
}
return 0;
}// 
int main()
{
double a[M][N];
int m = 0,
n = 0;
int i, j;
double sum, Sum;
while (scanf("%d %d", &n, &m) != EOF && m != 0 && n != 0)//***有可能会出错 ***
{//大循环 
sum = 1; Sum = 0;//初始化
for (j = 0; jfor (i = 0; i < m; i++)
scanf("%lf", &a[i][j]);//输入 
for (i = 1; i <= m; i++)
qsort(a[i], m, sizeof(double), compare);//从大到小排序
for (j = 0; j{
for (i = 1; i <= m; i++)
sum *= a[i][j];
Sum += sum;
sum = 1;//初始化 
}
printf("%.4f\n", Sum);
}//大循环 
}
看了 acm题,wrongansw...的网友还看了以下:

下面是用棋子摆成的“T”字.(1)摆成第一个“T”字要用多少个棋子?第2个、第3个呢?(2)照这样  2020-05-12 …

关于企业所得税举个例子把,第一年未分配利润为-300,第二年未分配为-200,第三年未分配利润为-  2020-06-18 …

关于企业所得税问题举个例子把,第一年利润总额为300,第二年利润总额为-200,第三年利润总额为-  2020-06-18 …

一只猴子摘了一堆桃子,第一天它吃了这堆桃子的七分之一,第二天它吃了余下桃子的六分之一,第三天它吃了  2020-07-07 …

一群猴子吃一堆桃子,第一天吃了全部的19,第二天吃了余下的18,第三天吃了第二天余下的17…第八天  2020-07-12 …

五(1)班同学回收废瓶子,第一个月平均每天回收20个,第二个月平均每天比第一个月每天多回收。第二个  2020-07-13 …

两种元素原子X和Y,Y原子的第三层比氩原子的第三层少5个电子,Y原子的第二层电子数恰为X原子第二层  2020-07-29 …

写作格式?写作时,是空前两个格子,从第三个格子开始写,那么,我要是在第一个需要用前书名号或前引号(我  2020-12-04 …

一道应用题13一根绳子,第一次剪去这根绳子的—,第二次剪去剩下的—.第二次剪去35的是这根绳子全厂的  2020-12-17 …

从第一到第走了多远智力题书架摆放4本书,每书厚5公分,前后封面各0.5,如果一虫子从第一书的第一页咬  2020-12-19 …