
a-again
文章平均质量分 69
要认认真真
这个作者很懒,什么都没留下…
展开
-
1003. Emergency (25)
http://www.patest.cn/contests/pat-a-practise/1003深入研究本题适用dij+dfs,其中dij用来找出所有的最佳路径,而dfs根据第2,3,4...标出算出答案首先用dij算法,根据各边权值算出最短路径,并用vector pre [max]记住每条最短路径的前驱结点注意点1.pre初始化时,每个pre[i]存放i本身,这是为了后面d原创 2015-01-27 09:16:30 · 262 阅读 · 0 评论 -
1050. String Subtraction (20)
点击打开链接有2点超时,但是已经用了hash,应该是m+n的复杂度啊#include #include #include using namespace std;int mark[128]={0};char a[10010],b[10010];int main(){ freopen("in.txt","r",stdin); gets(a); gets(b);原创 2015-02-05 19:29:12 · 335 阅读 · 0 评论 -
1046. Shortest Distance (20)
点击打开链接最后一个超时#include #define MAX 100100int dis[MAX];int n;int main(){ freopen("in.txt","r",stdin); scanf("%d",&n); for(int i=0;i<n;i++){ scanf("%d",&dis[i]); } int m; scanf("%d",&m);原创 2015-02-05 17:12:01 · 221 阅读 · 0 评论 -
1075. PAT Judge (25)
点击打开链接2个点没过#include#include #include using namespace std;struct p{ int id; int num[5]; int total; //是否显示在列表中,没提交或者编译出错的,不显示 int list; //完美解决的题目总数 int ps;}pat[10010];int n,k,m;int原创 2015-02-07 21:58:29 · 353 阅读 · 0 评论 -
1016. Phone Bills (25)
点击打开链接//用sort给stl排序sort(st.begin(),st,end(),cmp);//用sort给数组排序sort(a,a+N,cmp);有2个点段错误?!!!!#include #include #include #include #include using namespace std;map name;struct原创 2015-02-05 10:35:24 · 273 阅读 · 0 评论 -
1056. Mice and Rice (25)
点击打开链接终于过了!!!注意1.题意首先没读懂,这题后面给的order是其id,意思是order中下标是顺序,内容是id2.我的思路是建立一个胜者树,不断更新rank,因此就是要记录每次进入下一层的id,而不是结构体本身,因为这样才能修改结构体中的rank3.对于最后的输出,要记录下每一层的个数用lay[],然后按照个数更新rank感觉更新rank的过程太复杂了,应该原创 2015-02-07 16:31:38 · 278 阅读 · 0 评论 -
1022. Digital Library (30)
重写原创 2015-01-28 22:57:52 · 279 阅读 · 0 评论 -
1074. Reversing Linked List (25)
点击打开链接找到一些坑点1.考虑k大于链表长度2.对于k=1的情况考虑,但是提交后原来的一点不过竟然变为2点?!!!!#include #include #include #define MAX 100010using namespace std;struct node{ int add; int da; int next;}no[MAX];map inde原创 2015-02-08 11:17:13 · 224 阅读 · 0 评论 -
1073. Scientific Notation (20)
全过了,但是!!!代码写的太挫了,太长了!!!!!点击打开链接#include #include struct s { char qian[10000]; char hou[10000]; int qf; int hf; int keep;};int main(){ freopen("in.txt","r",stdin); char c[10010]原创 2015-02-08 16:04:46 · 275 阅读 · 0 评论 -
1069. The Black Hole of Numbers (20)
点击打开链接考虑输入的为3位数2位数1位数,因此要填充0还有1点没过#include #include #include #include using namespace std;struct s{ int a,b,c;};bool big(char a,char b){ return a>b;}bool lit(char a,char b){ ret原创 2015-02-08 12:19:42 · 291 阅读 · 0 评论 -
1078. Hashing (25)
点击打开链接有一点不过,感觉是hash范围有问题,如果开足够大,总能找到#include #include #include #define MAX 10010int prime[MAX];bool p[MAX];int cntp=0;void findp(){ memset(p,0,sizeof(p)); for(int i=2;i<MAX;i++){原创 2015-02-09 12:04:26 · 267 阅读 · 0 评论 -
1044. Shopping in Mars (25)
点击打开链接有一点超时,感觉这是dp#include #include #include using namespace std;map ans;int d[100010],h[100010];int main(){ freopen("in.txt","r",stdin); int n,m,start=-1,mind=123123123; scanf("%原创 2015-02-12 10:28:49 · 234 阅读 · 0 评论 -
1067. Sort with Swap(0,*) (25)
用map存超时了,换成结构体可能会省点时间,然后用二分#include #include using namespace std;map mp;map::iterator it;void myswap(int &cnt){ map::iterator it=mp.begin(); while(it->second!=0){ cnt++; int tmp=it-原创 2015-02-14 10:40:32 · 342 阅读 · 0 评论 -
1035. Password (20)
点击打开链接#include#include struct s{ char name[20]; char pwd[20];}rec[1010];int cha[1010];int main(){ freopen("in.txt","r",stdin); int n; while(scanf("%d",&n)!=EOF){ int cnt=0; for(int原创 2015-02-05 11:44:20 · 293 阅读 · 0 评论 -
1031. Hello World for U (20)
点击打开链接貌似n=9错了#include #include #include #include using namespace std;char c[10000];char s[10000][10000];int main(){ freopen("in.txt","r",stdin); gets(c); int n=strlen(c)-2; int max=0;原创 2015-02-03 19:49:00 · 379 阅读 · 0 评论 -
1080. Graduate Admission (30)
点击打开链接多次读错题目!注意按照先按照排名排序,然后按照志愿是否是否满来分配招生还有2点没过sad。。。#include #include#include #include using namespace std;#define STU 40010#define SCHOOL 110int n,m,k;struct s{ int id; int ge,gi原创 2015-02-05 10:50:45 · 227 阅读 · 0 评论 -
1034. Head of a Gang (30)
http://www.patest.cn/contests/pat-a-practise/1034好吧,这个题目还有好几个没过,要好好研究主要用map,这是个神器啊!!!貌似问题出现在回边访问,其实我没懂sad#include #include #include #include #include //体中给了说最多1000条边,因此最多有2000个点#define原创 2015-01-26 11:02:01 · 595 阅读 · 0 评论 -
1072. Gas Station (30)
http://www.patest.cn/contests/pat-a-practise/1072读题啊读题!!!思路简单,只需要用dij,然后按要求输出,但是就2点不过,不知道那个要求读错了sad。。等过几天清醒了再重新看吧新知识将字符串转化为其他形式或将其他形式转化为字符串sscanf:char[]转其他和sprintf:其他转char[]//scanf是从屏幕到n原创 2015-01-28 22:44:45 · 265 阅读 · 0 评论 -
1047. Student List for Course (25)
点击打开链接 点击打开链接 点击打开链接 点击打开链接 点击打开链接 点击打开链接与1039相似有一个超时注意:set只能用迭代器访问#include "cstdio"#include #include #include #define MC 2510using namespace std;set cou[MC];int n,c;int main(){ fr原创 2015-01-29 11:08:36 · 386 阅读 · 0 评论 -
1039. Course List for Student (25)
http://www.patest.cn/contests/pat-a-practise/1039超时!!!开始使用的是vector,但是后来发现有查找操作果断换用set对于结果的输出,应该使用set,因为课程号都是升序注意:1.set最大的好处就是可以find和排序而vector是不能排序,find是通过for循环自己写2.set的访问只能通过迭代器for(s原创 2015-01-27 11:10:37 · 247 阅读 · 0 评论 -
1053. Path of Equal Weight (30)
点击打开链接注意:1.对于树的存储和二叉树类似,不同之处在与存储其孩子时用vectorstruct no{ int data; int wei; //用vector表示其孩子 vector next;}node[MAX];2.要求按照权值的从大到小输出方法1:用set记录所有路径,倒着进行输出但该方法不可行,虽然set可以排原创 2015-01-30 16:36:22 · 268 阅读 · 0 评论 -
1021. Deepest Root (25)
点击打开链接先用并查集存。且图中只存单边然后判断利用并查集判断连通分量的个数如果是连通图,利用并查集补充为无向图,再次bfs得最大深度但是第一个点竟然没过!!!!!#include #include #include #include #define MAX 10010#include using namespace std;//并查集int tr原创 2015-01-31 16:45:21 · 201 阅读 · 0 评论 -
1054. The Dominant Color (20)
点击打开链接map思维广啊!对应关系这样存储!!用hash直接内存超过限制//方法1:用vector存放node{data,times},但是其实查找不好做,因为此时tmp.data=x,而times未知,是无法知道的//方法2:用vector存放node的下标,但是还是要创建node数组,数组太大了,仍然开不出来//方法3:用map存放data与times的对应值#incl原创 2015-01-30 11:59:29 · 345 阅读 · 0 评论 -
1071. Speech Patterns (25)
点击打开链接2个点超时,sad。。。注意1.大写字母的ascii值比小写字母小322.字符数组的赋值用strcpy()函数strcpy(字符数组1,字符数组2) --即将后面的赋值给前面的#include #include #include #include using namespace std;char c[1048576];char an原创 2015-01-31 11:08:34 · 389 阅读 · 0 评论 -
1032. Sharing (25)
点击打开链接这次用map来存放节点,first是其地址,second是no里面有访问次数visit和next开始将vist都置为0,然后按照第一个开始的节点地址开始访问,用map中的find找下一节点,使其visit++,直到结束,结束的标志就是iteratoe找不到为止,而不是next为-1再按照第二个地址开始访问,如果其visit为1表示已经访问过,则该节点为common原创 2015-02-02 16:04:05 · 350 阅读 · 0 评论 -
1060. Are They Equal (25)
点击打开链接输入为0.0000xxxx的数字,xxx.xxx的也考虑了但是还有2个点没过#include #include #include using namespace std;#define MAX 100010int n;//k:c中保存了几位数,//i:a中读到字符串中的几位数//cntint f(char a[],char c[]){ int原创 2015-02-01 16:22:38 · 364 阅读 · 0 评论 -
1025. PAT Ranking (25)
点击打开链接前面都过,最后一个不过#include #include #include using namespace std;struct s{ char id[14]; int grade; int group; int grorank; int finrank;}list[30010];bool cmpin(s a,s b){ return原创 2015-02-03 09:20:14 · 278 阅读 · 0 评论 -
1082. Read Number in Chinese (25)
折磨死你啊!!!!思路一,所有4位数全部预读出,但是好像没有那么大的字符数组思路二,每4位读一次这段代码没有考虑8000,800,这种数字的读法#include #include char num[10][5]={"ling","yi","er","san","si","wu","liu","qi","ba","jiu"};char quan[][5]={"","Shi"原创 2015-02-04 10:43:59 · 443 阅读 · 0 评论 -
1017. Queueing at Bank (25)
点击打开链接找不到哪里错了,有3个点不过#include #include #include using namespace std;int n,w;struct mytime{ int hh,mm,ss;};struct node{ mytime come; mytime start; mytime fin; int last;}no[10010];vec原创 2015-02-15 10:38:22 · 246 阅读 · 0 评论