PAT
once_charming
这个作者很懒,什么都没留下…
展开
-
PAT1021
这是一道常规的图论题,题目链接如下: http://www.patest.cn/contests/pat-a-practise/1021这道题的大概意思是,首先判断一个图是不是树,如果不是则输出联通分量的个数,否则找出使得改树高度最高的所有根节点并输出。 首先使用并查集可以非常轻易的判断出联通分量的个数 随后先任取一点遍历图,找到距离该点最远的点,然后,从找的的点中任取一点出发遍历找到的所原创 2016-02-06 17:56:17 · 516 阅读 · 0 评论 -
pat1020
题目链接: http://www.patest.cn/contests/pat-a-practise/1020二叉树重建问题,使用后序遍历和中序遍历构建二叉树, 主要思路是,首先找到根节点(即后序中的最后一个节点),然后用根节点将中序中的序列分为前后两个部分,再递归构建二叉树即可 AC代码如下:import java.util.ArrayList;import java.util.Sc原创 2016-02-16 10:54:23 · 270 阅读 · 0 评论 -
PAT1042
题目链接: http://www.patest.cn/contests/pat-a-practise/1042简单模拟 代码如下:import java.util.HashMap;import java.util.Scanner;public class Main { static HashMap<Integer, String> map=new HashMap<Integer,原创 2016-02-16 11:56:13 · 160 阅读 · 0 评论 -
PAT1046
题目链接如下: pat甲级1046求一个单循环链表的两点间的最短距离 需要注意的是,采用统计某一方向的长度累加会导致超时,本想使用dp算法解决,后来考虑到dp数组的规模,也无法完成 后来注意到可以计算出两点间的距离,因而使用一个数组保存每点距离起点的距离,将最后一个点距离第一个点的距离单独处理,即可轻松解决 AC代码如下:#include<stdio.h>int aa[10005];in原创 2016-02-18 08:44:31 · 362 阅读 · 0 评论 -
PAT1032
题目链接: pat1032(A) 这题如果使用map会超时,应当注意此处的空间换时间的操作,同时,显示的内存必须是5位的,整数不足的部分应当在前面补0,AC代码如下:#include<stdio.h>int post[1000005];int pp[10];int main(){ int st1,st2,n,i,j,p1,p2,a,b,num1=0,num2=0; char原创 2016-03-04 15:21:31 · 209 阅读 · 0 评论 -
PAT 1065
题目链接: PAT(A) 1065大数加法类水题,使用java中的BigInteger即可解决import java.math.BigInteger;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc=new Scanner(Sys原创 2016-02-25 20:21:33 · 176 阅读 · 0 评论 -
PAT1058
题目链接如下: pat(A)1058 ac代码如下:#include <stdio.h>#include <stdlib.h>int main(){ int a1, a2,a; int b1, b2, c1, c2,b,c; scanf("%d.%d.%d %d.%d.%d",&a1,&b1,&c1,&a2,&b2,&c2); a = a1 + a2;原创 2016-02-26 09:54:14 · 210 阅读 · 0 评论 -
PAT 1038
题目链接如下: pat 1038 此题的重点在于 32,321 3214 在排序时应当是 32 3214 321 的顺序,仔细观察发现只需先循环的填充不足8位的数至八位再排序即可得到正确的序列 如该用例中 321->32132132 3214->32143214 32->32323232 如何排序即一目了然 同时要注意最开始的0是不输出的,并且如果输入的全是0则应当输出一个0 此题仍然对于原创 2016-02-27 22:27:45 · 242 阅读 · 0 评论 -
PAT1050
题目链接:PAT1050(A) 本题使用空间换时间的做法,不然直接将b表中的元素在A表中查找是o(mn)的复杂度,会超时,AC代码如下:#include<stdio.h>char post1[1000005];char post2[1000005];int acc[130]={0};int main(){ int i,j; gets(post1); gets(pos原创 2016-03-04 22:44:34 · 212 阅读 · 0 评论 -
PAT 1041
题目链接: PAT1041 本题的思路在于使用第一个数组来标记出现的数,另一个数组标记对应数出现的次数,使用空间换时间的方式来通过两组超时用例 值得注意的是这一题使用java代码仍然无法通过C语言代码(ac代码):#include <stdio.h>int input[100005]={0};int result[100005]={0};int main(){ int n;原创 2016-02-15 18:53:32 · 214 阅读 · 0 评论 -
pat1100
题目链接: pat1100(A) 本题需要注意字符串的处理,尤其是在火星上类似13 ,26这样的数个位的0是不输出的,一定要注意这一点import java.util.ArrayList;import java.util.HashMap;import java.util.Scanner;public class Main { static HashMap<String, Intege原创 2016-03-02 19:36:01 · 184 阅读 · 0 评论 -
pat1017
pat1017 模拟类问题,链接如下 http://www.patest.cn/contests/pat-a-practise/1017 这样的问题我最近总是做不对,最后有一组用例超时了,23分,不知是不是pat oj对java语言的时间要求不太合理,看到类似算法的c语言代码是可以通过的2333333 *本题需要注意的点是,当用户要求处理时间大于一小时时应当将之设为1小时,同时,当用户到达时间原创 2016-02-08 23:04:18 · 435 阅读 · 0 评论 -
PAT1013
PAT1013 1013. Battle Over Cities (25)时间限制 400 ms内存限制 65536 kB代码长度限制 16000 B判题程序 Standard 作者 CHEN, YueIt is vitally important to have all the cities connected by highways in a war. If a city is occupie原创 2016-01-30 21:38:20 · 283 阅读 · 0 评论 -
PAT 1030
最短路径类问题,题目链接如下: PAT(A)1030 本题是最短路径问题的变形,即每一条路径的权值有两个,当第一个权值相等时认为第二个权值小的路径更短,再输出其最短路径即可,因此,只需稍稍改良Dijkstra算法即可,具体AC代码如下:import java.util.ArrayList;import java.util.Scanner;import java.util.Stack;pub原创 2016-03-01 21:28:49 · 239 阅读 · 0 评论 -
PAT1031
题目链接如下 http://www.patest.cn/contests/pat-a-practise/1031 水题import java.util.Scanner;public class Main { static int N,n1,n2,n3; public static void main(String[] args) { Scanner sc=new原创 2016-02-13 11:24:37 · 259 阅读 · 0 评论 -
PAT1019
*题目链接如下 http://www.patest.cn/contests/pat-a-practise/1019 水题,不消多说,上代码import java.util.ArrayList;import java.util.Scanner;public class Main { static int N,base; static ArrayList<Integer> ar;原创 2016-02-13 11:46:53 · 169 阅读 · 0 评论 -
PAT1035
题目链接: http://www.patest.cn/contests/pat-a-practise/1035 水题,代码如下:import java.util.ArrayList;import java.util.Scanner;public class Main { static String[] name; static String[] pass; stati原创 2016-02-13 21:20:41 · 194 阅读 · 0 评论 -
PAT1054
题目链接PAT1054(A) 本题需要注意的是应当知道采用c++的输入方式会超时,故应当采用c的处理方式,代码如下:#include <iostream>#include <map>using namespace std;map<int, int> mymap;map<int, int>::iterator it;int main(){ int m, n,s,max=0,flag原创 2016-03-02 10:13:25 · 207 阅读 · 0 评论 -
PAT1027
题目链接 http://www.patest.cn/contests/pat-a-practise/1027 这是一道睡得不能再水的问题,大约就是将3个十位数转化成十三进制再格式化输出即可,需要注意的是,0应当输出“00”import java.util.ArrayList;import java.util.HashMap;import java.util.Scanner;public cl原创 2016-02-01 12:25:20 · 229 阅读 · 0 评论 -
PAT1026
题目链接: pat1029(A) 本题开始的想法是使用快速排序求出中位数,后来发现两组数都已经升序,只需找到固定序号的元素即可,AC代码如下:#include <stdio.h> #define MAX 999999999999999999999;long post1[10000006];long post2[10000006];int main(){ int m,n,i,j;原创 2016-03-04 20:53:38 · 180 阅读 · 0 评论