ZOJ
文章平均质量分 66
bladeLight
这个作者很懒,什么都没留下…
展开
-
Fire Net
//没有X的位置均可以放置,我们先统计能够放置的个数,比如为n,则2的n次方-1为能够放置的最大整数//将整数转换为2进制放入格子中,判断是否满足条件,保存一个最大值//2868598 2012-04-19 23:30:28 Accepted 1002 C++ 10 180 chg zoj 1002 枚举#include#include#includeint ma[4][4];i原创 2012-04-29 17:27:35 · 507 阅读 · 0 评论 -
pat 1020
根据后序遍历和中序遍历求层序遍历(队列实现)终于明白编程之美中为什么传递Node** root了,如果传递Node*root的话,你从外面新建一个root,传递进去只是作为参数,本身并没有改变,所以需要传递地址。#include#include#includeusing namespace std;int postorder[35];int inorder[35];int N原创 2013-03-02 21:32:56 · 1247 阅读 · 0 评论 -
pat 1030
df+回溯#include#include#include#includeusing namespace std;int n,m,s,d,mindist,mincost,sum_dist,sum_cost;int mat[505][505];int cost[505][505];int vis[505];vector v,res;void dfs(int x){原创 2013-03-04 11:27:48 · 677 阅读 · 0 评论 -
pat 1025
#include#include#includeusing namespace std;struct Node{ string id; int score; int final_rank; int loc_num; int local_rank;};Node ranklist[30005];int cmp(Node a,Node b){原创 2013-03-03 15:28:43 · 395 阅读 · 0 评论 -
pat 1023
#include#include#includeint count[10];char ch[21];int num[21];int count_new[10];int main(){ scanf("%s",ch+1); memset(count,0,sizeof(count)); memset(count_new,0,sizeof(count_new));原创 2013-03-03 12:51:31 · 559 阅读 · 0 评论 -
pat 1018
#include#include#include#includeusing namespace std;int C,N,p,M;int v[505];//bike的容量 int road[505][505];//两点之间的距离 int vis[505];int sum_road,shortest;int avaliable;int bring,back;int res_原创 2013-03-02 17:02:05 · 1497 阅读 · 1 评论 -
pat 1019
进位制#include#include#includeusing namespace std;int N,b;vector v;int main(){ scanf("%d%d",&N,&b); if(N==0){ printf("Yes\n0\n"); }else{ while(N){ v.push原创 2013-03-02 18:29:08 · 486 阅读 · 0 评论 -
浙大pat 1017
#include#include#include#include#include using namespace std;//说明:这道题目只要是17:00之前到的都会被处理,通俗点就是银行17:00之后不让进了int N,K;struct Task{ int arrive_time; int serve_time; int start_serve_tim原创 2013-02-28 21:18:51 · 1941 阅读 · 0 评论 -
pat 1051
#include#include#includeusing namespace std;int in[1005];int out[1005][1005];int m,n,k;stack st;int main(){ scanf("%d%d%d",&m,&n,&k); for(int i=0;i<n;i++) in[i]=i+1; for(原创 2013-03-11 13:00:54 · 684 阅读 · 0 评论 -
pat1032
一开始不知道scanf(“%d”,&a)读带有前导零的可以将前面的0自动滤去,而且也不知道printf(“%05d”)的含义,表示的是以五个字符的格式输出,不足5个的用0补充。开始用的是map做的,结果最后一个测试样例超时。其实这样构造的是一个静态链表。#include#include#includestruct Node{ int next; char ch;};原创 2013-03-04 21:41:38 · 847 阅读 · 0 评论 -
pat 1031
开始做的时候是使用枚举n2的方法,但是有个测试样例过不了,不知道哪个地方错了。然后别人的代码中,(N+2)/3,这一步想的很好。#include#include#includechar str[85];int main(){ scanf("%s",str); int N=strlen(str); int n1,n2; n1=(N+2)/3;原创 2013-03-04 15:59:39 · 499 阅读 · 0 评论 -
pat 1029
一开始用sort写,有两个测试样例超时。因为已经排好序了,所以用归并排序中的那个Merge函数来做的,设置两个指针i,j。#include#includeint a[1000005]; int b[1000005];int main(){ int n,m; scanf("%d",&n); for(int i=0;i<n;i++) scanf(原创 2013-03-04 10:39:24 · 984 阅读 · 0 评论 -
pat 1028
一开始用c++写的,结果最后一个测试样例超时。然后改成了char数组,并使用strcmp比较大小。但是出现了问题,原因了id本来是6个字符,我开的数组为char ch[6],这样是不对的,因为还有一个'\0',因此必须开7个字符才行。#include#include#include#include#includeusing namespace std;struct stude原创 2013-03-04 10:12:48 · 1094 阅读 · 0 评论 -
pat 1027
#include#include#include#includeusing namespace std;void change(int x){ vector v; if(x==0) v.push_back(0); while(x){ v.push_back(x%13); x=x/13; } if(v.size()=原创 2013-03-04 09:20:25 · 486 阅读 · 0 评论 -
pat 1024
#include#include#includeusing namespace std;vector v;vector find_reverse(vector v){ vector tmp; for(int i=v.size()-1;i>=0;i--) tmp.push_back(v[i]); return tmp;}bool is_pali原创 2013-03-03 13:55:00 · 508 阅读 · 0 评论 -
ZOJ 1148
这道题目要求最少多少线段,广搜的过程中我们将处于同一直线上的步数设为同样的值(因为他们可以连成一条线,也就是只有一条线段),我们搜索时候,在同一个方向上一直往前走#include#include#include#includeusing namespace std;char ch;int n,m,sx,sy,dx,dy;int mat[80][80];int d[80][80];原创 2012-08-23 23:20:53 · 540 阅读 · 0 评论 -
ZOJ 1091
#include#includeint knight[8][8];int x[]={1,1,2,2,-1,-1,-2,-2};int y[]={2,-2,1,-1,2,-2,1,-1};//计算从某个点到其余各点的距离,感觉有点多了void dfs(int si,int sj,int moves){ if(si=8||sj>=8||moves>=knight[si][sj])转载 2012-05-22 21:41:57 · 1087 阅读 · 0 评论 -
ZOJ 1084 Channel Allocation
题目大意:给定几个转发器,这些转发器有相邻的转发器,相邻的转发器不能有相同的频道,转化为涂色问题。四色问题:任何一张地图只用四种颜色就能使具有共同边界的国家着上不同的颜色。所以说最多使用四种颜色。#include#include#includeint map[26][26];//用来存储每个节点的颜色,节点的颜色从1开始编号//若有两种颜色则颜色为1,2.int used[30];原创 2012-03-14 20:28:58 · 586 阅读 · 0 评论 -
pat 1022
由于整形可能有前导零故使用string存储才行,string的比较直接使用大于小于号就行了#include#include#include#include#includeusing namespace std;struct Book{ string id; string title; string author; vector v; str原创 2013-03-03 00:01:05 · 1307 阅读 · 0 评论