标题:简单的ACM问题
只看楼主
lcddhr
Rank: 2
等 级:论坛游民
帖 子:25
专家分:29
注 册:2011-5-18
结帖率:100%
已结贴  问题点数:4 回复次数:2 
简单的ACM问题
我们知道,每一年的ACM/ICPC亚洲地区现场赛赛都会有很多很多个代表队参赛,于是,怎么把这些队伍排序成了组织者最头疼的问题。后来,他们终于想出了解决方案,那就是——按照网络赛的做题数排序,如果做题数一样再按罚时排序,如果罚时又是一样的,那就只能按照学校名字的字典序排序了
他们规定:
1、做题数多的排在前面;
2、罚时少的排在前面
3、名字按字母ASCII码值升序排列,如果第一个字母一样就比较第二个字母,以此类推


Input

Line 1:一个数N(1<= N <= 500),代表进入现场赛的学校数
Line 2 - N + 1:队伍的名字(不含空格,由大小写字母组成,长度不超过50)、做题数(正整数)、罚时(正整数)
输入数据保证不出现三者完全一样的数据

(题目包含多组数据)

Output

按输入的格式把队伍排序后输出,case之间输出空行

Sample Input


2
TeamA 3 200
TeamB 4 500

Sample Output


TeamB 4 500
TeamA 3 200




我的代码:
#include<stdio.h>
void main()
{
  int N;
  char *a[20],*temp;
  int i,j,k,flag;
  int b[20],c[20];


  scanf("%d",&N);

  for(i=0;i<N;i++)
  {
     scanf("%s",a[i]);   //我知道我这是输入的时候发生了问题,但是我不知道该如何修改 想了好久都还是没想出办法修改
     scanf("%d",&b[i]);
     scanf("%d",&c[i]);


  }


************************** 下面的代码是比较队的名字的大小的,  我知道应该先比较题目数,然后再比较时间 但是比较出来 如何把较多题目 和时间较小的下标排好序输出呢??   请大侠指教一下  或者帮我修改一下代码  我刚接触acm几天 有不好的地方请见谅  *********************
  for(i=0;i<N;i++)   
  {
   k=i;

   for(j=0;j<N-i;j++)
   if(strcmp(a[k],a[j])>0)
     k=j;

   if(k!=i)
    {
     temp=a[i];
     a[i]=a[k];
     a[k]=temp;;
    }

    printf("%s\n",a[i]);


    getchar();
    getchar();
    }

}
搜索更多相关主题的帖子: 字典 名字 亚洲 组织者 代表队 
2011-05-20 16:55
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
得分:1 
程序代码:
char *a[20],*temp;//这里定义的是指针数组 指针并没有确定的指向 也就是没有分配内存空间  当然程序要崩掉
  int i,j,k,flag;
  int b[20],c[20];


  scanf("%d",&N);

  for(i=0;i<N;i++)
  {
     a[i] = (char *)malloc(20*sizeof(int))//分配内存空间到堆区 20个字节
     scanf("%s",a[i]);   //我知道我这是输入的时候发生了问题,但是我不知道该如何修改 想了好久都还是没想出办法修改
     scanf("%d",&b[i]);
     scanf("%d",&c[i]);


  }


                                         
===========深入<----------------->浅出============
2011-05-20 19:06
草狼
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:577
专家分:1040
注 册:2010-4-6
得分:1 
直接开个结构体,三级排序下多简单啊0.0
2011-05-20 22:38



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-340552-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.150319 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved