pat
Just_Su
这个作者很懒,什么都没留下…
展开
-
1014 Waiting in Line (30分)
/这道题我有很多话想说,首先它考的数据结构就是队列,但是考的非常灵活,光知道队列的实现并不是这道题难的地方,每个窗口就是一个队列,由于窗口之间的时间联系,队列的进出队是相互靠时间制约的,一个队列的队首元素出队会直接影响其他队列队首元素的值。这里我想到陈姥姥在讲图的时候提过其实实际做题过程中并非一定要把图的所有元素装进一个结构体中才叫图,这只是一种形式,队列也是一样,关键的是队列先进先出的模式或者说...原创 2020-03-22 17:29:06 · 173 阅读 · 0 评论 -
1012 The Best Rank
/就是普通的接收然后排序,我英文水平不太行,理解题意花了一段时间,没有特别的算法,但是细节方面出了好多错所以debug花了很长时间,加油,好的开始是成功的一半!/#include <stdio.h>typedef struct node{int ID;//学号int Grades[4];//平均分、C语言、数学英语、;}student;int getRank(student...原创 2020-02-20 17:33:54 · 130 阅读 · 0 评论 -
1011 World Cup Betting
//保佑我考pat就考这种题#include<stdio.h>int main(){float n,a[3][3],b[3]={0,0,0};char c[3],d[3]={‘W’,‘T’,‘L’};int i,j;for(i=0;i<3;i++) for(j=0;j<3;j++) scanf("%f",&a[i][j]);for(i=0;i&l...原创 2020-02-20 13:29:50 · 139 阅读 · 0 评论 -
1010 Radix
/题目看起来不难但总是AC不了,看了一些大佬的AC才明白原来是测试的n进制超过了我给的进制最大值,改了之后发现超时,顺序查找不再满足题目要求,所以用了二分法查找,特别注意的是用了long long后n还是会越界,但是越界后数值n会小于0,利用这一点来判断是否能找到n使两数相等/#include<stdio.h>#include<math.h>#include<...原创 2020-02-20 13:08:34 · 110 阅读 · 0 评论 -
1004 Counting Leaves
/数每一层的叶子结点数,我是用的结构数组来储存树的,方法比较笨。层序遍历知道每个结点的层数,这里我使用的是队列存储,堆栈也可以。再遍历数组得到最大层数,通过看结构数组组员有没有层数来判断是否为树的结点,通过结点有没有儿子来判断这个结点是不是叶结点,再用另一个数组来储存每一层叶结点的数目,问题解决/#include <stdio.h>#include <stdlib.h>...原创 2020-02-19 13:29:51 · 101 阅读 · 0 评论 -
1005 Spell It Right
/水题,给你一个数,让你把每一位上的数字加起来,再用英文输出,注意这个数字非常大,所以int long long都不够用,需要用字符数组num[101]来储存数,不然只能部分正确,ac不了/#include#include#include#includeint getLength(int n){int i=1;while(n/10){n=n/10;i++;}return i;...原创 2020-02-19 13:33:39 · 102 阅读 · 0 评论 -
1006 Sign In and Sign Out
//水题,记录最早登入时间和最晚登出时间#include<stdio.h>#include<string.h>typedef struct link{char name[17];int I;int O;}ID;typedef struct node{char unlock[17];int IN;}ULock;typedef struct Node{...原创 2020-02-19 13:50:43 · 146 阅读 · 0 评论 -
1008 Elevator
/水题,电梯上一层楼6秒,下一层楼4秒,每停一次五秒,问走完题给楼层要花多长时间 /#include<stdio.h>#define M 101int main(){//接收数据int i,n,num[M];scanf("%d",&n);for(i=0;i<n;i++)scanf("%d",&num[i]);//计算时间int time=5n+...原创 2020-02-19 19:10:22 · 243 阅读 · 1 评论 -
1007 Maximum Subsequence Sum
/最大子列和问题,接收的数据分为三种情况,第一种是存在正数,第二种是只存在0和负数,第三种是只存在负数。第三种情况最简单,按题目要求直接输出0 num[0] num[n-1];第二种情况只需要找到第一个零,假设他在i位置上,那么输出0 i i即可;第一种情况是普遍情况,利用在线处理的方法求出最小子列和即可/#include<stdio.h>#define M 10002int m...原创 2020-02-19 18:34:09 · 212 阅读 · 0 评论 -
1003 Emergency
/带权图的最短路径问题,用Dijkstra算法,我比较笨,理解这个算法用了整整一天,然后实现又用了一天,实现后其他的就比较简单了/#include<stdio.h>#include<stdlib.h>#define MV 510#define ME 260000#define MW 327670000#define impossibleValue -2#def...原创 2020-02-19 13:21:40 · 178 阅读 · 0 评论