- 博客(18)
- 收藏
- 关注
原创 1068 最大独立集
#include #include #define N 101int n,m;bool map[N][N];int link[N];bool use[N];int search_path(int i){ int v; for (v=1;v
2010-11-28 13:29:00 267
原创 1237 简单计算器
可以输入 + - * / % ^(右结合) 带小数的数字 无视空格还没有 判断错误输入的能力 ,多个+ -的判断 #include #include #include #include #include using namespace std;stack op;stack num;char *p;char getch()//获得下一个非空格字符{ while(*p==' ') p++; return *(p++);}double getnum(dou
2010-11-27 12:46:00 347
原创 1874 畅通工程续 模板题 Dijkstra算法 Bellman_Ford算法
<br />Dijkstra<br /> <br />#include<stdio.h>#define N 201#define INF 0x7ffffffint map[N][N];int mark[N];int path[N];int n;void Dij(int start){ int i,j,min,k,dis; for (i=0;i<n;i++) { path[i]=map[start][i]; ma
2010-11-23 14:07:00 390
原创 2072 strtok
#include#include#includeusing namespace std;int main (){ char b[999],*p; while(gets(b) && b[0]-'#') { sets; p=strtok(b," "); while(p) { s.insert(string(p)); p=strtok(0," "); } couthttp://www.examda.com/ncre2/C/jich
2010-11-21 14:27:00 321
原创 2094 map应用
#include #include #include #include using namespace std;int main (){ //freopen("1.txt","r",stdin); map m; set s; set::iterator it; string win,lose; int i,n,count; while(cin>>n,n) { s.clear(); m.clear(); for (i=0;i>win>>
2010-11-20 22:41:00 429
原创 1026 Ignatius and the Princess I 广搜
<br />写的和1242基本一模一样,这个方法在权值很小的情况下还不错,要是有100000的延迟就完了。<br />#include <stdio.h>#define N 101#define MAX 0x7ffffffint n,m;int Min;int base=0,top=0;char map[N][N];int pre[N][N];bool vis[N][N];struct{ int i,j;}path[N*N];int len;int m
2010-11-19 19:14:00 589
原创 2544 最短路 Dijkstra算法 Floyd算法 Bellman_Ford算法 SPFA算法
#include #define N 101#define MAX 0x7ffffff//不要设成最大值 否者会加出负数int n;int mark[N];int map[N][N];int path[N];//存放1到n的最短路void dij(int v){ int min,i,j,k,dis; for (i=1;i
2010-11-18 21:53:00 841 2
原创 1242 rescue 广搜
#include #define N 201#define MAX 0x7ffffffchar map[N][N];bool vis[N][N];int n,m;int Min;int mo[4][2]={{-1,0},{0,1},{1,0},{0,-1}};struct Queue{ int i,j,delay,count;}qu[N*N];//杭电数据不给力 开个N也能过。。。void bfs(int sti,int stj){ int
2010-11-15 19:05:00 269
原创 1198 Farm Irrigation
#include #define N 52int flag[11][4]={{0,1,0,1},{0,1,1,0},{1,0,0,1},{1,0,1,0},{1,1,0,0},{0,0,1,1},{0,1,1,1},{1,1,0,1},{1,0,1,1},{1,1,1,0},{1,1,1,1}};//下上右左int map[N][N];int pre[N*N];bool vis[N][N];int mo[3 ][2]={{1,0},{-1,0},{0,1}};//下 右int f
2010-11-14 14:06:00 245
原创 1232 畅通工程
<br />#include <stdio.h>#define N 1001int pre[N];int find (int x){ int r=x,temp; while(pre[r]!=r) r=pre[r]; while(x!=r)//路径压缩 { temp=pre[x]; pre[x]=r;//让所有子树的pre都变成根节点 x=temp; } return r;}
2010-11-13 22:43:00 399
原创 1010 深搜
#include #include #include using namespace std;#define N 10char a[N][N];bool vis[N][N];int time;int doi,doj;//目标位置int mo[4][2]={0,-1,0,1,1,0,-1,0};//题目有问题 c写的过不了bool dfs(int i,int j,int ctime){ int k; int in,jn;//next i
2010-11-10 22:55:00 232
原创 1171 多重背包
#include #define N 125005int max(int a,int b){ return a>b? a:b;}int f[N];int main (){ int n,c[1001],m[1001],i,j,k,v,sum,t,t1; while(scanf("%d",&n),n>0) { sum=0; for (i=0;i
2010-11-07 21:16:00 214
原创 1114 完全背包
<br />#include <stdio.h>#define N 10010#define MAX 0xfffffffint min (int a,int b){ return a>b? b:a;}int main (){ int n,i,v,T,e,g,f[N]; int c,w;//重量 价值 scanf("%d",&T); while(T--) { scanf("%d%d",&e,&g); v=g-e; scanf("%d",&n
2010-11-07 17:27:00 240
原创 2602 0-1背包
<br />#include <stdio.h>#include <string.h>#define N 1001int max(int a,int b){ return a>b? a:b;}int main (){ int T,f[N],i,j,n,v; int c[N];//重量 int w[N];//价值 scanf("%d",&T); while(T--) { scanf("%d%d",&n,&v); for (i=0;i<n;i
2010-11-07 15:33:00 225
原创 3397 线段树大集合
#include #define N 300010int a[N/3];struct Tree{ int a,b; int lval,rval,mval,sum; int cov() { if ( dis()==mval) return 2;//全是1 if ( mval==0 ) return 1;//全是0 return 0;//混乱 } void prs(int flag) { lval=rva
2010-11-06 20:57:00 240
原创 1003 最大连续子串和
#include int main (){ int n,i,j,m,*p,a,b,max,s,l; scanf("%d",&m); for (l=0;l { if(l) putchar('/n'); scanf("%d",&n); p=new int [n]; max=-0x80000000; for (i=0;i { scanf("%d",p+i); i
2010-11-06 20:51:00 496
转载 2563 递推题
递推还是不明白#include using namespace std;int main(){ int i,a[21],t,n; a[1]=3; a[2]=7; for (i=3;i { a=a[i-2]*3+(a[i-1]-a[i-2])*2; } cin>>t; while (t--) { cin>>n; cout } return 0;}
2010-11-05 14:42:00 208
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人