数据结构实验之排序七:选课名单 (SDUT 3404)
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
struct node
{
char data[15];
struct node *next; //存放名字
};
struct node *head[2018]; // 每个课程都有一个相应的开始
int num[2018]; // 存放每个课程选的人数
char name[15];
int main()
{
int n,m,sum,cnt;
while(~scanf("%d%d",&n,&m))
{
memset(num,0,sizeof(num));
for(int i = 0; i < 2018; i ++) // 初始化
{
head[i] = (struct node *)malloc(sizeof(struct node));
head[i] -> next = NULL;
}
for(int i = 0; i < n; i ++)
{
scanf("%s %d", name, &sum);
for(int j = 0; j < sum; j ++)
{
scanf("%d", &cnt);
num[cnt] ++; // 对应的课程的人数要+1
struct node *q, *p;
q = (struct node *)malloc(sizeof(struct node));
q -> next = NULL;
strcpy(q -> data,name); // 新申请一个结点来存放这个人的名字
p = head[cnt]; // 找到这个人应该的在的那一列中
while(p -> next)
{
if(strcmp(q -> data, p -> next -> data) < 0) // 找到第一个字符串需要大于它的
{
break;
}
p = p -> next;
}
q -> next = p -> next; // 顺序插入到链表中去
p -> next = q;
}
}
for(int i = 1; i <= m; i ++)
{
printf("%d %d\n", i, num[i]); // 输出课程 以及人数
struct node *p; // 对应的人名
p = head[i] -> next;
while(p)
{
printf("%s\n", p -> data);
p = p -> next;
}
}
}
return 0;
}
数据结构实验之排序七:选课名单 (SDUT 3404)的更多相关文章
- SDUT 3404 数据结构实验之排序七:选课名单.!?
数据结构实验之排序七:选课名单 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 随着学校规模 ...
- SDUT-3404_数据结构实验之排序七:选课名单
数据结构实验之排序七:选课名单 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 随着学校规模的扩大,学生人数急剧增加,选 ...
- 数据结构实验之排序二:交换排序 (SDUT 3399)
#include <iostream> #include <bits/stdc++.h> using namespace std; typedef long long ll; ...
- SDUT 3401 数据结构实验之排序四:寻找大富翁.!
数据结构实验之排序四:寻找大富翁 Time Limit: 150MS Memory Limit: 512KB Submit Statistic Problem Description 2015胡润全球 ...
- SDUT 3346 数据结构实验之二叉树七:叶子问题
数据结构实验之二叉树七:叶子问题 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 已知一个按 ...
- SDUT OJ 数据结构实验之二叉树七:叶子问题
数据结构实验之二叉树七:叶子问题 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem Descri ...
- SDUT OJ 数据结构实验之排序四:寻找大富翁
数据结构实验之排序四:寻找大富翁 Time Limit: 200 ms Memory Limit: 512 KiB Submit Statistic Discuss Problem Descripti ...
- SDUT OJ 数据结构实验之排序三:bucket sort
数据结构实验之排序三:bucket sort Time Limit: 250 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem D ...
- SDUT OJ 数据结构实验之排序二:交换排序
数据结构实验之排序二:交换排序 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem Descrip ...
随机推荐
- 正则表达式"(^|&)" ,什么意思?
^匹配字符串开头,&就是&字符 (^|&)匹配字符串开头或者&字符,如果其后还有正则,那么必须出现在字符串开始或&字符之后 用法一: 限定开头 文档上给出了 ...
- C++使用代码创建一个Windows桌面应用程序
WinMain函数 Windows应用程序的唯一程序入口. 函数原型 int WINAPI WinMain { HINSTANCE hInstancem HINSTANCE hPreInstance, ...
- .Net Core 注入学习——注册服务
解析 .Net Core 注入——注册服务发表于:2017-10-23 10:47 作者:行走即歌 来源:51Testing软件测试网采编字体:大 中 小 | 上一篇 | 下一篇 |我要投稿 | 推荐 ...
- 【洛谷 P2051】 [AHOI2009]中国象棋(DP)
题目链接 首先想到状压dp,但是\(n,m\)高达100,怎么压? 容易发现,每行每列最多两个象棋,否则就直接gg了. 一个巧妙的设置状态的方式是,只需要记录到当前行有多少列是放了1个炮和2个炮. 然 ...
- Git提交代码解决方案
最近做项目不再用小乌龟了,开始用git,便做了记录如下,后期可以看看自己是怎么使用的 下载安装就不说了,直接进入使用环节. 1.使用规则 git pull origin master 和 gi ...
- 阿里云ssl协议发布qq邮件
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx. ...
- Linux 基础学习2
目录 Linux 基础学习2 文件目录结构 文件命名规范 文件系统结构 linux应用程序的组成 绝对路径和相对路径 目录名和基名 切换目录 切换到家目录 切换到上一次的目录 显示当前的工作目录 列出 ...
- 点击其它位置,div下拉菜单消失
接下拉菜单那一篇: 加上点击其它位置,下拉菜单消失. 纯js写法: window.document.addEventListener('click', function(e) { var e = e ...
- JS解析xml字符串,并把xml展示在HTML页面上
首先,要写一个方法,把xml字符串转化成dom对象 //将字符串转化成dom对象;string转换为xml function stringToXml(xmlString) { var xmlDoc; ...
- Oracle - 实现MySQL的limit功能
MySQL的limit功能是获取指定行数的数据,Oracle没有这个limit,但是有其它方法. oracle数据库不支持mysql中limit功能,但可以通过rownum来限制返回的结果集的行数,r ...