随笔分类 -  ZOJ

摘要:1 #include<cstdio> 2 #include<iostream> 3 #include<cmath> 4 5 using namespace std; 6 7 int Prime(int x) 8 { 9 int i=2,flag = 1;10 while(i<=sqrt(double(x)) && flag==1)11 {12 if(x%i==0)13 {14 flag = 0;15 break;16 }17 i++;18 }19 ... 阅读全文
posted @ 2011-08-24 15:25 zhongya 阅读(214) 评论(0) 推荐(0)
摘要:1 #include<iostream> 2 #include<cstdio> 3 4 using namespace std; 5 6 char s[7][7]; 7 int n, m,wall,ok; 8 int visit[7][7]; 9 int si, sj;10 int dir[4][2] = {-1,0,0,1,1,0,0,-1};//四个方向,这是做DFS常用的方法,要谨记。11 12 int dfs(int x,int y,int num)13 {14 if(num==n*m-wall-1) 15 return ok = 1;16 for ... 阅读全文
posted @ 2011-08-24 15:22 zhongya 阅读(198) 评论(0) 推荐(1)
摘要:1 #include<cstdio> 2 #include<iostream> 3 #include<queue> 4 5 using namespace std; 6 7 queue<int>q; 8 int main() 9 {10 int i, w, h, k, j;11 int visit[21][21];12 char s[21][21];13 14 while(scanf("%d%d", &w, &h) != EOF)15 {16 if(w==0 && h==0) break;17 阅读全文
posted @ 2011-08-22 16:07 zhongya 阅读(238) 评论(0) 推荐(0)
摘要:1 #include<stdio.h> 2 #include<string.h> 3 #include<stdlib.h> 4 #include<math.h> 5 #define N 2147483648 6 7 int cmp(const void *a,const void *b) 8 { 9 return *(int *)a - *(int *)b;10 }11 12 int main()13 {14 int k=0, i, j;15 int a[50000]; //数组最大不超过5万个,因为5万的平方大于N了。16 17 ... 阅读全文
posted @ 2011-08-21 11:23 zhongya 阅读(176) 评论(0) 推荐(0)
摘要:1 #include<stdio.h> 2 3 int main() 4 { 5 int i, ncases; 6 int n; 7 8 while(scanf("%d", &ncases) != EOF) 9 {10 while(ncases--)11 {12 scanf("%d", &n);13 i = 0;14 while( n != 0)15 {16 if(n%2 == 1)17 ... 阅读全文
posted @ 2011-08-19 11:18 zhongya 阅读(172) 评论(0) 推荐(0)
摘要:1 #include<stdio.h> 2 #include<math.h> 3 4 int sumdigit(int n) 5 { 6 int sum = 0; 7 while(n != 0) 8 { 9 sum += n%10;10 n /= 10;11 }12 return sum;13 }14 15 int Prime(int n) //判断素数因子的位数之和,这是关键。16 {17 int i, tn=n, sum =0;18 19 for( i = 2; i*i <= n; i... 阅读全文
posted @ 2011-08-18 22:06 zhongya 阅读(226) 评论(0) 推荐(1)
摘要:1 #include<stdio.h> 2 3 int gcd(int a,int b) 4 { 5 if(b == 0) 6 return a; 7 else 8 return gcd(b,a%b); 9 }10 11 int main()12 {13 int step, mod;14 15 while(scanf("%d%d", &step,&mod) != EOF)16 {17 printf("%10d%10d",step,mod);18 if(gcd(step,mod) == 1... 阅读全文
posted @ 2011-08-18 17:49 zhongya 阅读(187) 评论(0) 推荐(0)
摘要:1 #include<stdio.h> 2 3 int main() 4 { 5 int k, n; 6 long long num; 7 8 while(scanf("%d", &n) != EOF) 9 {10 k = 1; 11 num = 1;12 while(num%n != 0)13 {14 num = (num*10+1)%n; //一开始把n忘了写超时了,最后改了一下 15 k++;16 }17 prin... 阅读全文
posted @ 2011-08-18 17:47 zhongya 阅读(135) 评论(0) 推荐(0)
摘要:1 #include<stdio.h> 2 3 int main() 4 { 5 int ncases, k; 6 long n; 7 8 while(scanf("%d", &ncases) != EOF) 9 {10 while (ncases--)11 {12 scanf("%ld", &n);13 k = 1;14 while(n != 1)15 {16 k++;17 ... 阅读全文
posted @ 2011-08-18 14:01 zhongya 阅读(173) 评论(0) 推荐(0)
摘要:1 #include<stdio.h> 2 #include<stdlib.h> 3 #define N 10002 4 5 int cmp(const void *a,const void *b) 6 { 7 return *(int *)a - *(int *)b; 8 } 9 10 int main()11 {12 int i,a[N], b[N],j;13 int n, m, count;14 15 while(scanf("%d %d", &n, &m) != EOF)16 {17 for(i=0; i<n; i++) 阅读全文
posted @ 2011-08-17 16:49 zhongya 阅读(134) 评论(0) 推荐(0)
摘要:1 #include<stdio.h> 2 #include<stdlib.h> 3 #define MAX 100 4 5 typedef struct 6 { 7 int a; 8 int b; 9 }Point;10 Point P[MAX];11 12 int father[MAX],num[MAX];13 int Mak_set(int n)14 {15 int i;16 for (i=1; i<=n; i++)17 {18 father[i] = i; 19 num[i] = 0; 20 }21 }22 23 int Find_se... 阅读全文
posted @ 2011-08-17 16:39 zhongya 阅读(234) 评论(0) 推荐(0)
摘要:#include<stdio.h>#include<stdlib.h>#define N 30000#define M 500int rank[N], father[N],num[N]; /* rank指代数的层数,num指每个节点数目 */ int Make_set(int x) /* 初始化父节点 */{ int i; for (i=0; i<x; i++) { father[i] = i; rank[i] = 0; num[i] = 1; }}int Find_set(int x) /* 寻找父节点,运用递归查找 */{ if (x != father[x] 阅读全文
posted @ 2011-08-14 10:35 zhongya 阅读(147) 评论(0) 推荐(0)
摘要:#include<stdio.h>#include<stdlib.h>#include<string.h>#define INT_MAX 2500typedef struct{ int x, y; int w;}edge;edge e[INT_MAX];int rank[INT_MAX], father[INT_MAX], dis_sum;int cmp(const void *a,const void *b){ return (*(edge*)a).w > (*(edge*)b).w ? 1 : -1;}int Exchage(int n){ int 阅读全文
posted @ 2011-08-13 10:35 zhongya 阅读(205) 评论(0) 推荐(1)