1002 487-3279

几度崩溃~~
字符输入输出转换部分还是比较好弄的,关键排序比较麻烦。一开始用带后继的单向链表存放结点,电话号码存在结点的字符串里,因为是链表,就用上了直接插入排序,好容易调试完能出正确结果了,一提交,居然超时。。。看来测试数据那是相当bug。。
于是开始考虑效率问题,把转换好的电话号码作为数字存放在结点中,省去耗时的字符串比较,又弄了个指针数组存放结点地址,对指针数组进行快速排序。。。
程序改了又改,提交了几次都WA,有次调试还出现蓝屏,ft!绞尽脑汁,终于能出正确结果了,一submit还是TLE,再度崩溃。。。
看了看disguss,有牛人做到200ms以下的,据说用HashMap做的,还有用二叉排序树做的,快排好象也可以,不过我的代码不行,也不想再改了,看他们的代码去~~
感觉用C做题好累啊,自己写的函数又长,效率又差!吃力不讨好,还是羡慕C++功能强大的STL,以后得学C++了。
虽然没有AC,还是贴出TLE的代码留作纪念:
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#define LEN sizeof(struct results)
struct results
{
unsigned long num; /* num:转换后的电话出现的次数,s:转换后的电话号码(7位)*/
unsigned long s;
};
struct results *p[100001]; /* 指针数组p存放结点地址*/
unsigned long numbers=0; /* 已输入的号码数*/
void QuickSort(unsigned long low,unsigned long high);
unsigned long partition(unsigned long low,unsigned long high);
struct results *creatNode(unsigned long input); /* 创建新结点*/
void main()
{
unsigned long totalinput,input,tail,duplicates=0,i,k;
int j;
char in[20]; /* 存放输入的一行字符号码*/
scanf("%ld",&totalinput); /*输入的号码总量*/
while(totalinput--)
{
for(j=0;j<16;j++)
in[j]='/0';
input=0;
scanf("%s",in);
for(i=j=0;i<7;j++) /* 处理输入的字符串,转换为数字input*/
{
if(in[j]>='0'&&in[j]<='9')
{
input=input*10+in[j]-48;
i++;
}
else if(in[j]>='A'&&in[j]<='Z')
{
if(in[j]>='A'&&in[j]<='O')
input=(in[j]-'A')/3+2+input*10;
else if(in[j]>='T'&&in[j]<='Y')
input=(in[j]-'B')/3+2+input*10;
else input=7+input*10;
i++;
}
}
p[++numbers]=creatNode(input); /*为新增号码创建新结点*/
}
QuickSort(1,numbers); /* 根据结点中的电话号码值对指针数组快速排序*/
for(i=tail=1;i<=numbers;) /* 输出出现不止一次的电话号码及其出现次数*/
{
k=p->s;
while((++tail<=numbers)&&p[tail]->s==k)
{
p->num++;
}
if(tail>(i+1))
{
for(j=6;j>=0;j--) /* 对s从高位到低位依次输出各位数字,既所要求格式的电话号码*/
{
if(j!=3)
printf("%d",k/(int)pow(10,j));
else
printf("-%d",k/(int)pow(10,j));
k=k%(int)pow(10,j);
}
printf(" %d/n",p->num);
duplicates++;
}
i=tail;
}
if(!duplicates)
printf("No duplicates.");
}
void QuickSort(unsigned long low,unsigned long high)
{
unsigned long pivotloc;
if(low<high)
{
pivotloc=partition(low,high);
QuickSort(low,pivotloc-1);
QuickSort(pivotloc+1,high);
}
}
unsigned long partition(unsigned long low,unsigned long high) /*对low和high之间的数据排序*/
{
unsigned long pivotkey; /*pivokey为枢轴*/
p[0]=p[low];
pivotkey=p[low]->s;
while(low<high)
{
while(low<high&&p[high]->s>=pivotkey)
--high;
p[low]=p[high];
while(low<high&&p[low]->s<=pivotkey)
++low;
p[high]=p[low];
}
p[low]=p[0];
return low;
}
struct results *creatNode(unsigned long input) /*创建新结点*/
{
struct results *newNode;
newNode=(struct results *)malloc(LEN); /*为新结点分配内存空间,并初始化*/
newNode->num=1;
newNode->s=input;
return newNode;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧校园整体解决方案是响应国家教育信息化政策,结合教育改革和技术创新的产物。该方案以物联网、大数据、人工智能和移动互联技术为基础,旨在打造一个安全、高效、互动且环保的教育环境。方案强调从数字化校园向智慧校园的转变,通过自动数据采集、智能分析和按需服务,实现校园业务的智能化管理。 方案的总体设计原则包括应用至上、分层设计和互联互通,确保系统能够满足不同用户角色的需求,并实现数据和资源的整合与共享。框架设计涵盖了校园安全、管理、教学、环境等多个方面,构建了一个全面的校园应用生态系统。这包括智慧安全系统、校园身份识别、智能排课及选课系统、智慧学习系统、精品录播教室方案等,以支持个性化学习和教学评估。 建设内容突出了智慧安全和智慧管理的重要性。智慧安全管理通过分布式录播系统和紧急预案一键启动功能,增强校园安全预警和事件响应能力。智慧管理系统则利用物联网技术,实现人员和设备的智能管理,提高校园运营效率。 智慧教学部分,方案提供了智慧学习系统和精品录播教室方案,支持专业级学习硬件和智能化网络管理,促进个性化学习和教学资源的高效利用。同时,教学质量评估中心和资源应用平台的建设,旨在提升教学评估的科学性和教育资源的共享性。 智慧环境建设则侧重于基于物联网的设备管理,通过智慧教室管理系统实现教室环境的智能控制和能效管理,打造绿色、节能的校园环境。电子班牌和校园信息发布系统的建设,将作为智慧校园的核心和入口,提供教务、一卡通、图书馆等系统的集成信息。 总体而言,智慧校园整体解决方案通过集成先进技术,不仅提升了校园的信息化水平,而且优化了教学和管理流程,为学生、教师和家长提供了更加便捷、个性化的教育体验。
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
智慧校园整体解决方案是响应国家教育信息化政策,结合教育改革和技术创新的产物。该方案以物联网、大数据、人工智能和移动互联技术为基础,旨在打造一个安全、高效、互动且环保的教育环境。方案强调从数字化校园向智慧校园的转变,通过自动数据采集、智能分析和按需服务,实现校园业务的智能化管理。 方案的总体设计原则包括应用至上、分层设计和互联互通,确保系统能够满足不同用户角色的需求,并实现数据和资源的整合与共享。框架设计涵盖了校园安全、管理、教学、环境等多个方面,构建了一个全面的校园应用生态系统。这包括智慧安全系统、校园身份识别、智能排课及选课系统、智慧学习系统、精品录播教室方案等,以支持个性化学习和教学评估。 建设内容突出了智慧安全和智慧管理的重要性。智慧安全管理通过分布式录播系统和紧急预案一键启动功能,增强校园安全预警和事件响应能力。智慧管理系统则利用物联网技术,实现人员和设备的智能管理,提高校园运营效率。 智慧教学部分,方案提供了智慧学习系统和精品录播教室方案,支持专业级学习硬件和智能化网络管理,促进个性化学习和教学资源的高效利用。同时,教学质量评估中心和资源应用平台的建设,旨在提升教学评估的科学性和教育资源的共享性。 智慧环境建设则侧重于基于物联网的设备管理,通过智慧教室管理系统实现教室环境的智能控制和能效管理,打造绿色、节能的校园环境。电子班牌和校园信息发布系统的建设,将作为智慧校园的核心和入口,提供教务、一卡通、图书馆等系统的集成信息。 总体而言,智慧校园整体解决方案通过集成先进技术,不仅提升了校园的信息化水平,而且优化了教学和管理流程,为学生、教师和家长提供了更加便捷、个性化的教育体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值