
PATPAT
文章平均质量分 67
pantingting_
TT要好好学习~每天都要比昨天进步一丢丢
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
PAT 1080 Graduate Admission
这道题很简单,但是做了很久。这里想贴两个版本,第一个是不完全正确的,但是仍然想保留下来提醒自己注意留意容易忽略的小细节! 总结一下出错的地方,首先是要注意保留学生id,然后要注意在录取环节千万不要把循环变量i当做学生id。个人感觉保存学生rank比保存未排序的stu要好,不容易出错。 #include #include #include #include using namespac原创 2015-02-20 15:25:31 · 436 阅读 · 0 评论 -
PAT 1004. Counting Leaves (30)
#include #include #include using namespace std; #define MAXN 150 int N,M; vectorvec[150]; queueq; int cnt[MAXN];//保存每个层次上的叶子节点个数。 int first,last,tmpcnt,level; void BFS(){ while (!q.empty()) {原创 2015-03-09 15:37:59 · 321 阅读 · 0 评论 -
PAT 1006. Sign In and Sign Out (25)
#include #include int early,late,n; char earlyP[20],lateP[20]; int time(int hh,int mm,int ss){ int ans=hh*60*60+mm*60+ss; return ans; } int main(){ //freopen("/Users/pantingting/Document原创 2015-03-10 10:57:30 · 292 阅读 · 0 评论 -
PAT Maximum Subsequence Sum (25)
#include int arr[10008];//保存原始数组 int dp[10008];//这个数组保存的是以i为结尾的最大子串的长度。 int begining[10008];//把以i为结尾的最大子串的开头保存下来。 int n; bool allneg=1; int main(){ //freopen("/Users/pantingting/Documents/code/da原创 2015-03-11 11:40:10 · 358 阅读 · 0 评论 -
PAT 1044. Shopping in Mars (25)
#include #include using namespace std; #define MAX 100008 struct Range{ int i; int j; Range(int ii,int jj):i(ii),j(jj){}; }; int n,m; int arr[MAX];//arr[i]存放1-i的部分和,下标1开始有效 vector vec; i原创 2015-03-11 20:33:14 · 369 阅读 · 0 评论 -
PAT 1048. Find Coins (25) 超简便做法!!!
@班大大 由于题面上硬币值是整数,并且有界!所以我们可以将硬币值作为下标hash。,数组value[i]表示的是面值为i的硬币的个数!!输入完成后也就省去了排序过程。两头逼近查找即可 。!机智!! #include #include #include using namespace std; int value[501]; int main() { memset(value,0原创 2015-03-11 21:53:28 · 482 阅读 · 0 评论 -
PAT 1048. Find Coins (25)
我用二分法做的~复杂度是nlogn,下面附上同学做的简洁版本。代码如下#include //二分法 #include using namespace std; #define MAXN 100008 int n,m,flag=0;//flag=1表示有解 int coins[MAXN]; int binarysearch(int low,int high,int key){ if (lo原创 2015-03-11 21:22:40 · 300 阅读 · 0 评论 -
PAT 1090 Highest Price in Supply Chain
这道题用BFS求出最大层次以及最大层次上节点的个数就好了 #include #include #include #include using namespace std; struct Answer{ int level; int num; };//将每个层次上有多少个节点都记录下来。 vector ans; vector vec[100008];//作为图的邻接链表。原创 2015-03-06 21:47:56 · 467 阅读 · 3 评论 -
PAT 1008. Elevator (20)
#include #define MAX 30000 int n,current=0,total=0,request; int main(){ //freopen("/Users/pantingting/Documents/code/data/input", "r", stdin); scanf("%d",&n); for (int i=0; i<n; i++) {原创 2015-03-11 10:24:11 · 353 阅读 · 0 评论 -
PAT 1009. Product of Polynomials (25)
#include #include #include #define MAX 2000 double arr1[MAX],arr2[MAX],result[2*MAX]; int cnt=0,num1,num2; void read(double a[],int & num){ int id; double tmp; scanf("%d",&num); fo原创 2015-03-11 15:31:54 · 375 阅读 · 0 评论 -
PAT 1042. Shuffling Machine (20)
#include #define num 54 int k; int muta[num+1];//保存变换规则1-54,0位置不用 int poke[num+1];//保存原始poke的编号; int aftermt[num+1];//保存变换后的poke编号 void mutate(){ for (int i=1; i<=num; i++) { int newpos=m原创 2015-03-11 09:58:36 · 336 阅读 · 0 评论 -
PAT 1011. World Cup Betting (20)
#include char res[3][2]={"W","T","L"}; int main(){ freopen("/Users/pantingting/Documents/code/data/input", "r", stdin); int maxj=0; double sum=0.65,max=0.00; for (int i=0; i<3; i++) {原创 2015-03-11 15:00:05 · 328 阅读 · 0 评论 -
PAT1077
#include #include #include using namespace std; int main(){ int n; char s[500]; string next,suffix; // freopen("/Users/pantingting/Documents/code/data/input", "r", stdin); scanf转载 2015-02-02 15:35:41 · 414 阅读 · 0 评论 -
SET的用法
set中插入一个元素: insert(s1,str1); set中删除一个元素可以这样写 :√ 1 2 3 4 5 6 7 8 9 for (set::iterator it = numSet.begin(),prev = it;it!=numSet.end();)原创 2015-02-21 14:35:47 · 454 阅读 · 0 评论 -
PAT 1002. A+B for Polynomials (25)
#include #include #define MAXK 2000 float arr[MAXK];//结果存放在arr1中 int count; int main() { int index; float coeffi; int n; //freopen("/Users/pantingting/Documents/code/data/input", "r"原创 2015-03-09 14:08:06 · 334 阅读 · 0 评论 -
PAT 1003. Emergency (25)
#include #include using namespace std; #define MAXCITY 550 struct City{ int id,team,dis; City(int i,int t=0, int d=0):id(i),team(t),dis(d){} }; int N,M,C1,C2; int dis,helper,cnt;//暂存DFS中的距离和原创 2015-03-09 15:02:56 · 357 阅读 · 0 评论 -
PAT1081Rational Sum
这道题只要知道最大公约数和最小公倍数的求法就可以做得出来,但是要考虑的输出细节比较繁琐,代码写的很丑啦,不过总算是全部case通过了。// // main.cpp // PTT2 // // Created by 潘婷婷 on 15-2-1. // Copyright (c) 2015年 潘婷婷. All rights reserved. // #include #include #原创 2015-02-19 16:15:19 · 505 阅读 · 0 评论 -
PAT1083 List Grades
#include #include #include #include #include using namespace std; struct Stu{ char name[15]; char id[15]; int grade; bool operator <(const Stu & b) const { return grade原创 2015-02-20 17:59:37 · 433 阅读 · 0 评论 -
PAT 1084 Broken Keyboard
其实代码复杂度还是蛮高的,不过,数据范围小呀~~嘿嘿,主要用了set#include #include #include #include using namespace std; char str1[88]; char str2[88]; set s1,s2; set dif; char upper(char c){ char ans=c; if (c='a') {原创 2015-02-21 14:29:00 · 346 阅读 · 0 评论 -
PAT 1085 Pefect Sequence
查了一下数据范围: bool型为布尔型,占1个字节,取值0或1。 BOOL型为int型,一般认为占4个字节,取值TRUE/FALSE/ERROR。 sbyte型为有符号8位整数,占1个字节,取值范围在128~127之间。 bytet型为无符号16位整数,占2个字节,取值范围在0~255之间。 short原创 2015-02-23 10:51:50 · 493 阅读 · 0 评论 -
PAT1079 Total Sales of Supply Chain
// // main.cpp // PTT2 // // Created by 潘婷婷 on 15-2-1. // Copyright (c) 2015年 潘婷婷. All rights reserved. // #include #include #include using namespace std; int Tree[100000]; int retailer[100000]原创 2015-02-10 17:41:41 · 496 阅读 · 0 评论 -
PAT1078 Hashing
#include #include #include using namespace std; int hashtable[10000]; int isPrime(int x){ if (x==0||x==1) { return 0;//0: not prime; } if (x==2) { return 1; } i原创 2015-02-02 21:26:33 · 398 阅读 · 0 评论 -
PAT 1064 Complete Binary Search Tree
这道题用数组表示法表示完全二叉树,写的神清气爽啊,抓住两点,首先,下标1开始,那么左子树是2*i,右子树是2*i+1. 然后是二叉排序树的性质,二叉排序树的中序遍历是一个排序好的数组。然后我们就可以用中序遍历填好完全二叉树数组,最后按序输出就是层次遍历了。#include #include #include using namespace std; int N; int arr[1005];原创 2015-02-28 21:18:42 · 337 阅读 · 0 评论 -
PAT 1067 Sort with Swap(0,*)
这道题调试了好久,代码写的比较丑,总的来说,抓住1. 0是否在0的位置。2 . 一共有几个环。如果0在环内,则需要的交换次数为环中除0外的个数,如果0不在环内,则需要一个交换将0放入。 #include #include #include using namespace std; int n,right1,count; int Father[100005]; int FindFather(原创 2015-03-01 22:32:32 · 409 阅读 · 0 评论 -
PAT 1086 Tree Traversal Again
采用二叉树的数组表示方法,用stack保存一下当前节点编号,每push一下都将当前节点编号*2转向左子树,pop的时候就pop出来转向右子树。#include #include #include #include using namespace std; int n,k,current=1; int Tree[10000]; int flag=0; char op[2][10]={"Pus原创 2015-03-05 14:36:07 · 390 阅读 · 0 评论 -
PAT 1075 PAT Ranking
#include #include #include #include using namespace std; struct Stu{ int id; int partial[6]; int totalscore; int perfect; int rank; int flag; bool operator <(const Stu原创 2015-03-05 11:01:27 · 310 阅读 · 0 评论 -
PAT1068 Find More Coins (背包问题)
参考了别人的博客,这道题不太懂。http://blog.youkuaiyun.com/tiantangrenjian/article/details/17334201 #include #include #include using namespace std; int n,m; int arr[100008]; int f[10008][108]; int has[10008][108]; bool原创 2015-03-05 16:04:27 · 327 阅读 · 0 评论 -
PAT 1089. Insert or Merge (25)
参考这里写的http://www.cnblogs.com/kylehz/p/4134915.html #include #include using namespace std; #define MAX 200 int n; int initial1[MAX],initial2[MAX]; int given[MAX]; int flag1=0,flag2=0; bool cmp(int a原创 2015-03-07 20:10:30 · 435 阅读 · 0 评论 -
PAT 1091. Acute Stroke (30)
用BFS做的。#include #include using namespace std; struct node{ int i,j,k; node(int i=-1,int j=-1,int k=-1):i(i),j(j),k(k){}//!! }; int M,N,L,T; bool visited[61][1280][128]; int pic[61][1280][12原创 2015-03-08 22:08:14 · 528 阅读 · 1 评论 -
PAT 1001. A+B Format (20)
#include #include using namespace std; int a,b; vectorv; int main(){ // freopen("/Users/pantingting/Documents/code/data/input", "r", stdin); scanf("%d%d",&a,&b); int ans=a+b; // printf原创 2015-03-09 10:45:10 · 444 阅读 · 0 评论 -
PAT 1021. Deepest Root (25)
最后一个case没有过,改#include #include #include #include #define MAXN 10008 using namespace std; int n,k,first,last,level; int Father[MAXN];// 并查集 int Depth[MAXN]; int visited[MAXN]; queue q; vector v[原创 2015-03-13 23:07:29 · 380 阅读 · 0 评论