- 博客(45)
- 资源 (11)
- 问答 (3)
- 收藏
- 关注
原创 nyoj-901-蛋蛋的问题(三)
#include int a[30]; int main() { int n,i,sum; a[1]=a[2]=1; for(i=3;i a[i]=a[i-1]+a[i-2]; while(scanf("%d",&n)!=EOF) { sum=2; for(i=3; ;i++)
2014-03-19 15:23:41 432
原创 nyoj-827-蛋蛋的问题(二)
#include int b[102]; int main() { char a; int n,i; while(scanf("%c",&a)!=EOF) { scanf("%d",&n); for(i=0;i scanf("%d",&b[i]); getchar(
2014-03-19 15:08:29 400
原创 nyoj-643-发短信
#include #include int a[27]={0,2,22,222,3,33,333,4,44,444,5,55,555,6,66,666,7,77,777,7777,8,88,888,9,99,999,9999}; char b[1005]; int main() { int i,t,j; while(gets(b)!=NULL) {
2014-03-18 21:37:12 587
原创 nyoj-977-最大的最小公倍数
#include #include using namespace std; int main() { long long n; while(scanf("%lld",&n)!=EOF) { if(n cout else { if(n%2!=0)
2014-03-18 20:56:57 567
转载 欧几里德与扩展欧几里德算法
欧几里德算法 欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。 基本算法:设a=qb+r,其中a,b,q,r都是整数,则gcd(a,b)=gcd(b,r),即gcd(a,b)=gcd(b,a%b)。 第一种证明: a可以表示成a = kb + r,则r = a mod b 假设d是a,b的一个公约数,则有 d|a, d|b,而r = a - kb,因
2014-03-18 19:43:36 408
原创 nyoj-7-街区最短路径问题
#include #include #include struct in { int a,b; }map[25]; int x[25],y[25]; int cmp(const void *a,const void *b) { return *(int *)a-*(int *)b; } int main() { int s; scanf("%d",&s); whil
2014-03-18 15:20:24 482
原创 nyoj-10-skiing
#include #include int a[102][102]; char mp[102][102]; int n,m,max; void dfs(int x,int y,int t) { if(max max=t; if(mp[x][y]=='0'&&a[x][y]>a[x-1][y]&&x-1>=0) { mp[x][y
2014-03-16 12:07:26 441
原创 nyoj-18-The Triangle
#include int a[102][102]; int main() { int n,i,j; while(scanf("%d",&n)!=EOF) { int max; scanf("%d",&a[0][0]); max=a[0][0]; for(i=1;i for(
2014-03-16 11:30:55 414
原创 nyoj-63-小猴子下落
#include #include int a[1048577]; int main() { int n,m; while(scanf("%d%d",&n,&m)&&n+m) { int i,j,t; memset(a,0,sizeof(a)); for(i=1;i {
2014-03-16 10:14:45 417
原创 nyoj-739-笨蛋难题四
#include int main() { int n,i,min,m,t; while(scanf("%d",&n)!=EOF) { scanf("%d",&t); min=t; for(m=0,i=1;i { scanf("%d",&t);
2014-03-16 09:07:17 582
原创 nyoj-27-水池数目
#include int a[100][100]; int m,n; void dfs(int x,int y) { a[x][y]=0; if(a[x-1][y]&&x-1>=0) { a[x-1][y]=0; dfs(x-1,y); } if(a[x+1][y]&&x+1 {
2014-03-15 19:40:13 365
原创 nyoj-58-最少步数
#include int a[9][9]={1,1,1,1,1,1,1,1,1, 1,0,0,1,0,0,1,0,1, 1,0,0,1,1,0,0,0,1, 1,0,1,0,1,1,0,1,1, 1,0,0,0,0,1,0,0,1, 1,1,0,1,0,1,0,0,1, 1,1,0,1,0,1,0,0,1, 1,1,0,1,0,0,0,0,1, 1,1,1,1,1
2014-03-15 17:41:34 437
原创 nyoj-488-素数环
#include #include//回溯法 #include int a[21]={1},b[21],k; int nian(int n) { int i; for(i=2;i if(n%i==0) return 0; return 1; } int dfs(int n,int t) { int i;
2014-03-15 15:04:29 457
原创 nyoj-44-子串和
#include int main() { int s,n,i,t,sum,m; scanf("%d",&s); while(s--) { scanf("%d%d",&n,&t); sum=m=t; for(i=1;i { scanf("%d",&t);
2014-03-15 14:17:47 415
原创 nyoj-115-城市平乱
#include #define M 10000 int map[1002][1002]; int tp[102],n,m; int DIJ(int q) { int used[1002]={0},dis[1002]={0}; int i,j,k,min; for(i=1;i dis[i]=map[q][i]; for(i=1;i
2014-03-15 11:30:13 449
原创 nyoj-38-布线问题
#include #define M 100000 int map[503][503]; int v,sum; void prim() { int used[503]={0},dis[503]={0}; int i,j,k,min; sum=0; for(i=1;i dis[i]=map[1][i]; for(i=2;i
2014-03-15 10:02:03 407
原创 nyoj-42-一笔画问题
#include #include int a[1002][1002]; int visited[1002]; int n,sum; int FirstAdjvex(int v) { int i; for(i=2;i if(a[v][i]==1) return i; return 0; } int NextAdjvex(int v,
2014-03-15 09:25:05 436
原创 nyoj-20-吝啬的国度
#include #include #define MAX 100003 struct node { int num; node *next; }; struct datatype { int data; node *linkcity; }map[MAX]; void DFS(int m,int t) { node *p; map
2014-03-14 20:32:42 392
原创 nyoj-815-三角形
#include #include int main() { int s; scanf("%d",&s); while(s--) { double x1,x2,x3,y1,y2,y3,a,b,c; scanf("%lf%lf%lf%lf%lf%lf",&x1,&y1,&x2,&y2,&x3,&y3);
2014-03-11 21:35:02 411
原创 nyoj-172-小珂的图表
#include int a[101][101]={0}; char b[6]; int main() { int s,x,y,l,i,j,sum; scanf("%d",&s); while(s--) { sum=0; scanf("%s%d%d%d",b,&x,&y,&l); if(b[0]==
2014-03-11 21:10:00 454
原创 nyoj-623-A*B Problem II
#include int a[55][55],b[55][55],c[55][55]; int main() { int m,n,k,i,j,sum,a1,b1; while(scanf("%d%d%d",&m,&n,&k)&&m+n+k) { for(i=0;i for(j=0;j scanf("%d",&
2014-03-11 19:55:35 386
原创 nyoj-308-Substring
#include #include char a[55],b[55],c[55][55]; int main() { int s,k,i,j,max,len; scanf("%d",&s); while(s--) { scanf("%s",a); len=strlen(a); for(i=0;i
2014-03-11 19:17:12 407
原创 nyoj-214-单调递增子序列(二)
#include int a[100002]; int main() { int n,t,i,k,j; while(scanf("%d",&n)!=EOF) { k=1; scanf("%d",&a[0]); for(i=1;i { scanf("%d",&t); if(a[0]>t) a[0]=t; else if(t>a[k-1]) a[k++]=t; els
2014-03-11 17:31:26 385
原创 nyoj-145-聪明的小珂
//超时 /*#include #include int sushu(int x) { int j; for(j=2;j if(x%j==0) return 0; return 1; } int main() { int s,n,i; scanf("%d",&s); while(s--) {
2014-03-10 11:38:12 603
原创 nyoj-528-找球号(三)
#include int main() { int n,m; while(scanf("%d",&n)!=EOF) { int i,t=0; for(i=0;i { scanf("%d",&m); t=t^m; } prin
2014-03-09 17:15:39 500
原创 nyoj-86-找球号(一)
#include #include //#include //using namespace std; int qiu[1000002]; int cha[100002]; int cmp(const void *a,const void *b) { return *(int *)a-*(int *)b; } int main() { int n,m;
2014-03-09 16:52:05 582
原创 nyoj-479-Coprimes
//法一 #include int eular(int n) { int i,m=n,t=0; for(i=2;i*i if(n%i==0) { t=1; n/=i; m=m-m/i; while(n%i==0) { n/=i;
2014-03-09 15:38:14 481
原创 nyoj-291-LK的数学题
#include int eular(int n) { int i,m=1; for(i=2;i*i if(n%i==0) { n/=i; m*=i-1; while(n%i==0) { n/=i; m*=i; }
2014-03-09 14:57:38 632
原创 nyoj-116-士兵杀敌(二)
#include int a[1000002]; int b[1000002]={0}; char c[6]; int lowbit(int x) { return x&(-x); } void creat(int n)//创建树状数组 { int i,j; for(i=1;i for(j=i-lowbit(i)+1;j b[i]
2014-03-09 11:05:42 507
转载 树状数组
如果给定一个数组,要你求里面所有数的和,一般都会想到累加。但是当那个数组很大的时候,累加就显得太耗时了,时间复杂度为O(n),并且采用累加的方法还有一个局限,那就是,当修改掉数组中的元素后,仍然要你求数组中某段元素的和,就显得麻烦了。所以我们就要用到树状数组,他的时间复杂度为O(lgn),相比之下就快得多。下面就讲一下什么是树状数组: 一般讲到树状数组都会少不了下面这个图:
2014-03-09 10:35:07 436
原创 hdu-1233-还是畅通工程
#include #include #include #define M 1000000 int map[105][105]; int prim(int n)//普里姆算法 { int min,i,j,k,sum=0; int used[105]={0},dis[105]={0}; for(i=1;i dis[i]=map[i][1];//与顶
2014-03-08 21:08:05 417
原创 nyoj-734-奇数阶魔方
#include #include int a[20][20]; int main() { int s,n,i,j,t; scanf("%d",&s); while(s--) { scanf("%d",&n); memset(a,0,sizeof(a)); a[0][n/2]=1;
2014-03-08 20:33:14 462
原创 nyoj-502-筹建工程
#include #include #define M 10000000 int map[105][105]; int prim(int m) { int used[105]={0},dis[105]={0}; int i,j,k=0,min,sum=0,count=1,w; for(i=1;i dis[i]=map[i][1]; for
2014-03-08 17:09:06 468
原创 hdu-4524- 郑厂长系列故事——逃离迷宫
#include int main() { int s; scanf("%d",&s); while(s--) { int n,t,m=0,i; scanf("%d",&n); for(i=0;i { scanf("%d",&t);
2014-03-08 13:22:03 503
原创 nyoj-480-Fibonacci Again!
#include #include int F(int n) { if(n==1) return 3; else if(n==2) return 7; else return F(n-1)+F(n-2); } int panduan(int m) { int i; for(i=2;i if(m%
2014-03-07 15:59:13 496
原创 nyoj-473-A^B Problem
#include int main() { int a,b; while(scanf("%d%d",&a,&b)!=EOF) { int sum=1,t,i; if(a==0) printf("0\n"); else if(b==0) printf("1\n");
2014-03-07 15:34:39 423
原创 nyoj-519-密码发生器
#include #include char a[101]; int b[6]; int main() { int s,n,i,j,t; scanf("%d",&s); while(s--) { scanf("%s",a); n=strlen(a); memset(b,0,sizeof(b)); for(i=0;i for(j=i;j b[i]+=a[j]; for
2014-03-05 22:36:36 587
原创 nyoj-127-星际之门(一)
#include int main() { int s,n,i,sum; scanf("%d",&s); while(s--) { scanf("%d",&n); sum=1; for(i=0;i { sum*=n; sum%=10003; } printf("%d\n",sum); } return 0; }
2014-03-05 16:50:20 735
原创 nyoj-756-重建二叉树
#include #include void build_tree(int n,char *b,char *a) { int p; if(n>=1) { p=n-1; printf("%c",a[n-1]); while(b[p]!=a[n-1]&&p>=0) p--; build_tree(p,b,a); build_tree(n-p-
2014-03-05 15:35:18 528
原创 nyoj-311-完全背包
#include int a[50002]; int main() { int s,m,v,c,w,i,j; scanf("%d",&s); while(s--) { scanf("%d%d",&m,&v); for(i=1;i a[i]=-10000000; a[0]=0;
2014-03-03 11:22:53 502
二叉树的创建与销毁以及各种遍历算法
2019-03-14
文本挖掘资料
2016-02-02
visio绘图工具
2015-08-16
压缩感知目标跟踪
2015-08-12
求大神讲解怎样编写wsdl,以及wsdl、xsd和nsmap之间的关系。
2017-02-23
怎样在64位的linux环境中使用gcc/g++运行32位的程序,求大神解答
2016-09-08
请问怎样用C/C++读取PDF文件中的内容
2016-08-23
TA创建的收藏夹 TA关注的收藏夹
TA关注的人