随笔分类 - g:Data structure & algorithm
摘要:题目:1016Prime Ring Problem 1 /* 2 素数环(顺时针逆时针)---dfs 3 使用栈 4 1-n(n最大是20,相邻最大和39,素数范围2-39之间) 5 2-39间的素数: 6 2,3,5,7,11,13,17,19,23,29,31,37 7 从1开始,逐个尝试,如果是素数,入栈,否则尝试下一个,直到全部尝试完; 8 如果n个数全部入栈了,输出一组解(n最大为20,输出栈可以使用递归), 9 第一个数始终是1,第二个数需要尝试n+1的时候,就表示结束了(next = -1)。 10 */ 11 #include <cstdio> 12 #inc...
阅读全文
摘要:题目:1242Rescue 1 //这是一个比较标准的bfs,没有经过任何优化,但是思路比较清晰,容易看懂。 2 #include <iostream> 3 #include <cstdio> 4 #include <queue> 5 using namespace std; 6 //node结构体 7 typedef struct 8 { 9 int x; 10 int y; 11 int len; 12 }node; 13 //全局变量定义 14 #define M 202 15 char Map[M][M];//地图 16 int mask[...
阅读全文
摘要:正确而迅速地判断一个自然数是不是质数,在数的整除性这部分知识中,是一项重要的基本技能。 由于大于2的质数一定是奇数(奇数又不一定都是质数),所以,在判断一个自然数是不是质数时,首先要看它是奇数还是偶数。如果是大于2的偶数,这个数肯定不是质数,而是合数;如果是奇数,那就有可能是质数。在这种情况下,一般使用以下两种方法: (1)查表法: 主要是指查“质数表”。编制质数表的过程是:按照自然数列,第一个数1不是质数,因此要除外,然后按顺序写出2至500的所有自然数,这些数中2是质数,把它留下,把2后面所有2的倍数划去,2后面的3是质数,接着再把3后面所有3的倍数划去,如此继续下去,剩下的便是50...
阅读全文
摘要:Problem : 2095 ( find your present (2) ) Judge Status : AcceptedRunId : 6068462Language : G++Author : qq1203456195Code Render Status : Rendered By HDOJ G++ Code Render Version 0.01 Beta#include <stdio.h>int main(){ int n,r,t; while (scanf("%d",&n),n) { r=0; while (n--) ...
阅读全文
摘要:Problem : 2535 ( Vote ) Judge Status : AcceptedRunId : 6068434Language : G++Author : qq1203456195Code Render Status : Rendered By HDOJ G++ Code Render Version 0.01 Beta 1 #include <cstdio> 2 #include <algorithm> 3 #include <iostream> 4 using namespace std; 5 int main() 6 { 7 int n,
阅读全文
摘要:Problem : 2081 ( 手机短号 ) Judge Status : AcceptedRunId : 6068363Language : G++Author : qq1203456195Code Render Status : Rendered By HDOJ G++ Code Render Version 0.01 Beta 1 #include <stdio.h> 2 int main() 3 { 4 int n; 5 char str[20]; 6 scanf("%d",&n); 7 while (n--) 8 { 9 sc...
阅读全文
摘要:Problem : 2015 ( 偶数求和 ) Judge Status : AcceptedRunId : 6033023Language : CAuthor : qq1203456195Code Render Status : Rendered By HDOJ C Code Render Version 0.01 Beta 1 #include <stdio.h> 2 int main() 3 { 4 int n,m; 5 int i,b,sum,t,flag; 6 while (scanf("%d%d",&n,&m)!=EOF) 7 { 8
阅读全文
摘要:Problem : 2032 ( 杨辉三角 ) Judge Status : AcceptedRunId : 6013310Language : CAuthor : qq1203456195Code Render Status : Rendered By HDOJ C Code Render Version 0.01 Beta 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 int arr[31][31]; 5 void init() 6 { 7 int i,j; 8 me
阅读全文
摘要:1:把n!写成10^m次方的形式,如果m=2,就说明是三位数。【维基百科】【别处摘来的】可以将n!表示成10的次幂,即n!=10^M(10的M次方,10^2是3位M+1就代表位数)则不小于M的最小整数就是 n!的位数,对该式两边取对数,有M=log10^n!即: M = log10^1+log10^2+log10^3...+log10^n 循环求和,就能算得M值,该M是n!的精确位数。Problem : 1018 ( Big Number ) Judge Status : AcceptedRunId : 6013028Language : CAuthor : qq1203456195Code
阅读全文
摘要:题目意思:给一个整数,把各位数字按顺序排列,能否构成一个单调递增(差值为1)的序列.特别的是,0可以放在1前边和9后边,都算是符合要求。例如12354---12345 yes12305---01235 no1209---90123 yes980---890 yes11232---11223 no 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 char res[2][10]={"NO","YES"}; 5 int main() 6 {
阅读全文
摘要:题意:输入a b Right 或 a b Down ,根据输入输出之字形路径的矩阵。 1 #include <stdio.h> 2 int xx[4]={0,1,-1,1},yy[4]={1,0,1,-1}; 3 int map[100][100],col,row,x,y,dir,steps,idx; 4 char sel[10]; 5 void nextdir() 6 { 7 switch(dir) 8 { 9 case 0:10 dir=(x==0)?3:2; break;11 case 1:12 dir=(y==0)?...
阅读全文
摘要:Problem : 1008 ( Elevator ) Judge Status : AcceptedRunId : 6005031Language : CAuthor : qq1203456195Code Render Status : Rendered By HDOJ C Code Render Version 0.01 Beta 1 #include <stdio.h> 2 int main() 3 { 4 int n,pre,cur,t,m; 5 while (scanf("%d",&n),n) 6 { 7 pre=0; 8 t=...
阅读全文
摘要:起点v;vis[]数组表示某个点是否被访问过;初始全为0;cls[]数组表示当前集合到其余集合最近的距离;初始全为max;map[][]数组表示图的邻接矩阵;对角线为0;=================================== 1 void Dijkstra(int v) 2 { 3 int i,j,min,nxt; 4 5 for(i=1;i<=n;i++) cls[i]=map[v][i];//先用v到邻接点的距离初始化cls 6 memset(vis,0,sizeof(vis));//访问标志全部置0 7 vis[v]=1;//起点访...
阅读全文
摘要:Problem : 2544 ( 最短路 ) Judge Status : AcceptedRunId : 6003616Language : C++Author : qq1203456195Code Render Status : Rendered By HDOJ C++ Code Render Version 0.01 Beta 1 #include <stdio.h> 2 #include <string.h> 3 #include <stdlib.h> 4 #define MAX 0x3f3f3f3f 5 #define N 105 6 int cl
阅读全文
摘要:Problem : 2030 ( 汉字统计 ) Judge Status : AcceptedRunId : 6002775Language : CAuthor : qq1203456195Code Render Status : Rendered By HDOJ C Code Render Version 0.01 Beta 1 #include <stdio.h> 2 int main() 3 { 4 char str[101]; 5 int cnt,i,n; 6 scanf("%d",&n); 7 getchar(); 8 while(n--) 9
阅读全文
摘要:Problem : 2028 ( Lowest Common Multiple Plus ) Judge Status : AcceptedRunId : 6000929Language : CAuthor : qq1203456195Code Render Status : Rendered By HDOJ C Code Render Version 0.01 Beta 1 #include <stdio.h> 2 int lcm(int a,int b) 3 { 4 int min,max,ret; 5 min=a>b?b:a; 6 max=a>b?a:b; 7 .
阅读全文
摘要:Problem : 2027 ( 统计元音 ) Judge Status : AcceptedRunId : 6000830Language : CAuthor : qq1203456195Code Render Status : Rendered By HDOJ C Code Render Version 0.01 Beta 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 int seq1[5]={'a','e','i',&
阅读全文
摘要:Problem : 2026 ( 首字母变大写 ) Judge Status : AcceptedRunId : 6000786Language : CAuthor : qq1203456195Code Render Status : Rendered By HDOJ C Code Render Version 0.01 Beta 1 #include <stdio.h> 2 int main() 3 { 4 int n,i,f; 5 char str[101]; 6 while (gets(str)!=NULL) 7 { 8 i=0;f=1; ...
阅读全文
摘要:Problem : 2024 ( C语言合法标识符 ) Judge Status : AcceptedRunId : 6000739Language : CAuthor : qq1203456195Code Render Status : Rendered By HDOJ C Code Render Version 0.01 Beta 1 #include <stdio.h> 2 #include <ctype.h> 3 int main() 4 { 5 int n,i,f; 6 char str[51]; 7 scanf("%d",&n);
阅读全文
摘要:Problem : 2025 ( 查找最大元素 ) Judge Status : AcceptedRunId : 6000694Language : CAuthor : qq1203456195Code Render Status : Rendered By HDOJ C Code Render Version 0.01 Beta 1 #include <stdio.h> 2 int main() 3 { 4 int i,max; 5 char str[101]; 6 while (scanf("%s",str)!=EOF) 7 { 8 i=0;...
阅读全文

浙公网安备 33010602011771号