永发信息网

ACM 编程问题

答案:1  悬赏:60  手机版
解决时间 2021-05-10 13:34

题目地址: http://acm.tzc.edu.cn/acmhome/problemdetail.do?&method=showdetail&id=3106

(提交后系统提示Compile Error (我的结构体数组定义太大的原因))

怎么办?帮忙解决下,谢谢。

以下是我的代码:

#include<iostream>
#include<map>
struct bobo//定义啦名为bobo的结构体
 {
  int a[1000000];
 }num[10000];
int b[10000];
using namespace std;
int main()
{
 int n,x,i,j,m,t;
 map<int,int>p2;//定义了一个map映像(是行数与每行输入个数的对应),下面要用到
 while(cin>>n)
 {  
   int bo=0;
   for(i=0;i<n;i++)
   {cin>>m;
   int s=0;
   for(j=0;j<m;j++)
   {
    cin>>num[i].a[j];//对数据输入并保存到结构体中
    s+=num[i].a[j];//对于每行的数据求和
   }
    b[i]=s;//把每行数据保存到数组b中以便进行下一步的排序
    p2[i]=m;//将行与输入个数对应
   }
   int c[10000];//定义c数组是为了得到b数组排序后数组中的数在原来未排序时的位置状况
   for(i=0;i<n;i++)//将数组c从0赋值到n-1;其实就是b数组的下标
   c[i]=i;
   for(j=n-1;j>=0;j--)//冒泡法将b数组进行递减排序
   for(i=0;i<j;i++)
   if(b[i]<b[i+1])
   {
   t=b[i];
   b[i]=b[i+1];
   b[i+1]=t;
   t=c[i];//当b中数交换时,下标也交换
   c[i]=c[i+1];
   c[i+1]=t;
   }
   for(i=0;i<n;i++)//排序后按对应关系输出,即从最大的开始输出
   if(b[i]!=0)
   {
   cout<<c[i]+1<<":";
   for(j=0;j<p2[c[i]];j++)
   cout<<" "<<num[c[i]].a[j];
   cout<<endl;
   }
   cout<<endl;
  }
}

最佳答案
这道题很简单,学过组合数学很快就能编程得到,n(1<=n<=11)个英雄里选m(1<=m<=n)个人围成一个圈,共能围成多少种圈, 组合数学公式就是A(n,m)/m,A表示全排列:#include<stdio.h>int main()return 0;}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
用什么方法开通QQ会员最便宜
上下五千年主要讲什么,上下五千年指的是什么
最近一打篮球就感觉特别累是为什么呢
爱与被爱有什么关系呢?
怎样才能把舒玲的所有信息都弄到手,谁有办法
有史以来谁活得最长?有多少年?
为了灾区的孩子,我们该怎么办?
高级冰爆是把怪封住,能打到他的血吗
弗洛伊德关于梦的名言,《弗洛伊德之性学经典
我的征途号怎么玩不了了啊?谁知道的、帮我解
城市达人要怎么退出?
香蕉有防癌的功效么?
精武堂如何快速升级?
梦幻西游龙宫各种加点方法的利与弊是什么?
魔兽世界怎么把队友血条上的数去掉?
推荐资讯
用户局域网流量问题
为什么我的笔记本电脑安装不了《大话西游2》X
怎样删除不要的日志
西南舁乡这个地址在什么地方,我要处理点事
表达孤单的句子,孤独古风简短句子
结婚必须穿全是白色的衣服吗?
如果我想用手机炒股票,是外地的手机卡.应该
哪个牌子的眼线液比较好
你好。请问专家清朝硬币 多少钱
考过深圳系统操作工帮忙!
我每天总睡不够,为什么?
平时总是克制不住自己乱花钱,买东西老是被宰,
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?