编程小白
song_4
在通往大神的路上奋斗!
展开
-
HDU 3501 Calculation 2(欧拉函数)
#include #include using namespace std;//当数据很大没法开数组时不用线性筛选法求欧拉函数 void isEuel(long long n){ long long res=n,x=n; for(int i=2;i<=sqrt((n*1.0)+1);i++){ if(n%i==0) res=res/i*(i-1); while(n%i原创 2015-07-24 16:14:34 · 313 阅读 · 0 评论 -
Dijkastra算法求最短路径
/*Dijkastra算法求最短路径*/#include using namespace std;int main(){ int book[10]; int dis[10]; int e[10][10]; int inf=999999999; int n,m,t1,t2,a,u; cin>>n>>m; for(int i=1;i<=n原创 2015-03-18 10:59:31 · 1571 阅读 · 0 评论 -
并查集算法
/* 并查集 */#include using namespace std;int f[100];void init(int n){ for(int i=1;i<=n;i++) f[i]=i;}int getf(int x){ if(f[x]==x) return x; else{ f[x]=getf(f[x]);原创 2015-03-18 10:57:02 · 327 阅读 · 0 评论 -
hdu 1222 Wolf and Rabbit
看到这道题的时候首先想到的是用单向循环链表实现模拟,结果果不其然的超时了而且对于链表的不熟练导致中间内存溢出而且代码赘余TLE代码:#include //#include using namespace std;struct Node{ int visited=0; int position; Node *next;};Node *list_cre原创 2015-03-10 15:56:59 · 385 阅读 · 0 评论 -
算法训练 出现次数最多的整数
#include #include using namespace std;int main(){ map cnt; int n; cin>>n; long long a,max,i; max=0; if(n>0&&n<=20){ while(n--){ cin>>a; cnt[a]++;原创 2015-03-08 09:29:48 · 367 阅读 · 0 评论 -
2.1.3 Largest prime factor
#include #include using namespace std;int isPrime[100000];int main(){ map prime; int count=1; for(int i=2;i<=100000;i++){ isPrime[i]=1; } isPrime[0]=isPrime[1]=0; f原创 2015-03-08 09:25:08 · 314 阅读 · 0 评论 -
UVa 10935 卡片游戏
桌上有叠牌,从第一张牌(即位于顶面的牌)开始从上往下依次编号为1~n。当至少还剩两张牌时进行以下操作:把第一张牌扔掉,然后把新的第一张放一整叠牌的最后。输入n,输出每次扔掉的牌,以及最后剩下的牌。 样例输入:7 样例输出:1 3 5 7 4 2 6 #include #include using namespace std;int ma原创 2015-03-08 09:27:30 · 686 阅读 · 0 评论 -
标题:振兴中华
标题:振兴中华 小明参加了学校的趣味运动会,其中的一个项目是:跳格子。 地上画着一些格子,每个格子里写一个字,如下所示:(也可参见p1.jpg)从我做起振我做起振兴做起振兴中起振兴中华 比赛时,先站在左上角的写着“从”字的格子里,可以横向或纵向跳到相邻的格子里,但不能跳到对角的格子或其它位置。一直要跳到“华”字结束。原创 2015-03-08 09:31:28 · 602 阅读 · 1 评论 -
HDU 1010 Tempter of the Bone
int direct[4][2]={{0,-1},{0,1},{-1,0},{1,0}};void dfs(int p,int q,int step){//奇偶剪枝法,优化时间 if((abs(dx-p)+abs(dy-q))%2!=(time-step)%2) return; if(p==dx&&q==dy&&time==step) flag原创 2015-03-08 09:29:27 · 318 阅读 · 0 评论 -
第四届蓝桥杯模拟题之硬币方案
标题:硬币方案有50枚硬币,可能包括4种类型:1元,5角,1角,5分。已知总价值为20元。求各种硬币的数量。比如:2,34,6,8 就是一种答案。而 2,33,15,0 是另一个可能的答案,显然答案不唯一。你的任务是确定类似这样的不同的方案一共有多少个(包括已经给出的2个)?直接提交该数字,不要提交多余的内容。#include using na原创 2015-01-25 11:32:33 · 1123 阅读 · 0 评论 -
2012年蓝桥杯之古堡算式
标题:古堡算式福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式:ABCDE * ? = EDCBA他对华生说:“ABCDE应该代表不同的数字,问号也代表某个数字!”华生:“我猜也是!”于是,两人沉默了好久,还是没有算出合适的结果来。请你利用计算机的优势,找到破解的答案。把 ABCDE 所代表的数字写出来。答案写在“原创 2015-02-13 22:35:16 · 457 阅读 · 0 评论 -
2012年蓝桥杯之微生物增值
标题:微生物增值假设有两种微生物 X 和 Y,X出生后每隔3分钟分裂一次(数目加倍),Y出生后每隔2分钟分裂一次(数目加倍)。一个新出生的X,半分钟之后吃掉1个Y,并且,从此开始,每隔1分钟吃1个Y。现在已知有新出生的 X=10, Y=89,求60分钟后Y的数目。如果X=10,Y=90呢?本题的要求就是写出这两种初始条件下,60分钟后原创 2015-02-13 22:45:04 · 457 阅读 · 0 评论 -
蓝桥杯练习之核桃的数量
小张是软件项目经理,他带领3个开发组。工期紧,今天都在加班呢。为鼓舞士气,小张打算给每个组发一袋核桃(据传言能补脑)。他的要求是:各组的核桃数量必须相同各组内必须能平分核桃(当然是不能打碎的)尽量提供满足1,2条件的最小数量(节约闹革命嘛)输入格式输入包含三个正整数a, b, c,表示每个组正在加班原创 2015-01-24 11:09:09 · 553 阅读 · 0 评论 -
第五届蓝桥杯之扑克序列
标题:扑克序列A A 2 2 3 3 4 4, 一共4对扑克牌。请你把它们排成一行。要求:两个A中间有1张牌,两个2之间有2张牌,两个3之间有3张牌,两个4之间有4张牌。请填写出所有符合要求的排列中,字典序最小的那个。例如:22AA3344 比 A2A23344 字典序小。当然,它们都不是满足要求的答案。原创 2015-01-24 11:08:16 · 801 阅读 · 0 评论 -
HDU 2042 不容易系列之二
#include using namespace std;int main(){ int n; cin>>n; while(n--){ int m; cin>>m; int sum=3; while(m--){ sum=(sum-1)*2; } co原创 2015-02-10 18:52:16 · 354 阅读 · 0 评论 -
HDU 2025 查找最大元素
#include #include using namespace std;int main(){ string str; while(cin>>str){ int max=-1; for(int i=0;i<str.length();i++){ if(str[i]>=max) max=原创 2015-02-10 18:51:42 · 301 阅读 · 0 评论 -
HDU 1856 more is better
//wrong answer//但是不知道为什么#include #define MAXSIZE 100001int set[100001];int ans[100001];int res;void init(){ for(int i=1;i<MAXSIZE;i++){ set[i]=i; ans[i]=1; }}int getf(int x){ if(set[x]!=x){ set[x]=get原创 2015-03-18 11:05:26 · 342 阅读 · 0 评论 -
标题:六角填数
#include using namespace std;int book[12];int t[12];void dfs(int x){ if(x==1||x==2||x==12){ dfs(x+1); return; } if(x>12){ int a[6]; a[0]=t[2]+t[3]+t[4]+原创 2015-03-18 11:05:34 · 864 阅读 · 0 评论 -
HDU 2824 The Euler function(欧拉函数)
#include using namespace std;int isprime[3000001];int prime[3000001];int phi[3000001];int num=0;void isEuler(){ phi[1]=1; for(int i=2;i<=3000000;i++){ if(!isprime[i]){ prime[num++]=i;原创 2015-07-24 16:14:07 · 386 阅读 · 0 评论 -
HDU 2602 Bone Collector (01背包)
#include #include using namespace std;int value[1001];int tiji[1001];long long dp[1001];int main(){ int n; cin>>n; while(n--){ int a,b;//a代表骨头数,b代表背包体积 cin>>a>>b; memset(dp, 0,原创 2015-07-24 16:13:39 · 328 阅读 · 0 评论 -
动态规划实现组合数
#include using namespace std;int a[10001];void printf(int n,int m){ a[0]=1; for(int i=1;i<=n;i++){ a[i]=1; for(int j=i-1;j>0;j--){ a[j]=a[j]+a[j-1]; } } cout<<a[m]<<endl;}int main(原创 2015-07-24 16:12:50 · 1411 阅读 · 0 评论 -
UVa10391
#include #include #include using namespace std; int main(){ string str; set alpha; set ::iterator it; while(cin>>str) alpha.insert(str); for(it=alpha.begin();it!=alpha.end();it++){原创 2015-07-24 16:12:04 · 455 阅读 · 0 评论 -
新方法实现杨辉三角
#include using namespace std;int a[10001];void printf(int n,int m){ a[0]=1; for(int i=1;i<=n;i++){ a[i]=1; cout<<a[0]<<' '; for(int j=i-1;j>0;j--){ a[j]=a[j]+a[j-1]; cout<<a[j]<<' ';原创 2015-07-24 16:10:43 · 272 阅读 · 0 评论 -
UVa673 Parentheses Balance
Parentheses BalanceYou are given a string consisting of parentheses () and []. A string of this type is said to be correct:(a)if it is the empty string(b)if A and B are correct, AB is correct,原创 2015-07-25 16:42:33 · 340 阅读 · 0 评论 -
UVa439(DFS实现)
#include using namespace std;string beginstr;string endstr;int endx;int endy;int minstep;int direct[8][2]={{2,1},{2,-1},{1,2},{1,-2},{-1,2},{-1,-2},{-2,1},{-2,-1}};void dfs(int x,int y,int s原创 2015-07-26 20:36:48 · 557 阅读 · 2 评论 -
UVa439(BFS最短路实现)
#include using namespace std;struct Node{ int x; int y; int step;}que[100]; int book[8][8];string beginstr;string endstr;int endx;int endy;int direct[8][2]={{2,1},{2,-1},{-1,2},{-1,-2},{原创 2015-07-26 20:37:59 · 481 阅读 · 0 评论 -
蓝桥杯之龟兔赛跑预测
#include using namespace std;int main(){ int v1,v2,t,s,l; cin>>v1>>v2>>t>>s>>l; int time1=l/v2; int time2=l/v1; int dis1=0; int dis2=0; int i=1; while(i<time1){原创 2015-04-07 11:48:45 · 879 阅读 · 1 评论 -
蓝桥杯之Anagrams问题
#include #include #include using namespace std;int main(){ string str; string str1; cin>>str>>str1; int flag=1; if(str.length()==str1.length()){ for(int i=0;i<=str.leng原创 2015-04-07 11:48:44 · 869 阅读 · 0 评论 -
蓝桥杯之字符统计
问题描述 给定一个长度为n的字符串S,还有一个数字L,统计长度大于等于L的出现次数最多的子串(不同的出现可以相交),如果有多个,输出最长的,如果仍然有多个,输出第一次出现最早的。输入格式 第一行一个数字L。 第二行是字符串S。 L大于0,且不超过S的长度。输出格式 一行,题目要求的字符串。 输入样例1:原创 2015-04-07 11:50:03 · 476 阅读 · 0 评论 -
蓝桥杯之关联矩阵
问题描述 有一个n个结点m条边的有向图,请输出他的关联矩阵。输入格式 第一行两个整数n、m,表示图中结点和边的数目。n 接下来m行,每行两个整数a、b,表示图中有(a,b)边。 注意图中可能含有重边,但不会有自环。输出格式 输出该图的关联矩阵,注意请勿改变边和结点的顺序。样例输入5 91 23 1原创 2015-04-07 11:51:00 · 862 阅读 · 0 评论 -
蓝桥杯之密码发生器
题目描述 在对银行账户等重要权限设置密码的时候,我们常常遇到这样的烦恼:如果为了好记用生日吧,容易被破解,不安全;如果设置不好记的密码,又担心自己也会忘记;如果写在纸上,担心纸张被别人发现或弄丢了... 这个程序的任务就是把一串拼音字母转换为6位数字(密码)。我们可以使用任何好记的拼音串(比如名字,王喜明,就写:wangximing)作为输入,程序输出6位数原创 2015-04-07 11:44:27 · 1290 阅读 · 0 评论 -
HDU 1016 Prime Ring Problem
#include #include using namespace std;int book[20];int a[20];int t=0;bool isPrime(int x){ int flag=1; for(int i=2;i<=sqrt(x);i++){ if(x%i==0){ flag=0; ret原创 2015-03-18 11:03:17 · 297 阅读 · 0 评论 -
2.2.2 Joseph
#includeint a[15];int main(){ int n; for(int i=1;i<=14;++i){ for(int j=i+1;;j++){ int num=2*i; int m=j%num; if(m==0) m=num;原创 2015-03-18 11:04:54 · 325 阅读 · 0 评论 -
蓝桥杯基础练习之字母图形(改)
标题:字母图形问题描述利用字母可以组成一些美丽的图形,下面给出了一个例子:ABCDEFGBABCDEFCBABCDEDCBABCDEDCBABC这是一个5行7列的图形,请找出这个图形的规律,并输出一个n行m列的图形。输入格式原创 2015-01-25 11:35:01 · 428 阅读 · 0 评论 -
蓝桥杯算法训练之杨辉三角
问题描述杨辉三角形又称Pascal三角形,它的第i+1行是(a+b)i的展开式的系数。 它的一个重要性质是:三角形中的每个数字等于它两肩上的数字相加。 下面给出了杨辉三角形的前4行: 1 1 1 1 2 1原创 2015-02-17 21:29:52 · 670 阅读 · 0 评论 -
阅读《编写高质量代码》心得(3)
1.编译器对可变参数函数的原型检查不够严格,所以容易引起问题。难于差错。不利于写出高质量的代码,所以应当尽量避免使用C语言方式的可变参数设计,而用C++中更为安全的方式来替代。如Boost中的format库。—— Format库:实现类似printf的格式化对象,可以把参数格式化到一个字符串,而且是完全类型安全的。2.慎用goto。然而有一种goto的使用情形为许多C/C++程序员所接受,原创 2015-01-02 16:45:49 · 471 阅读 · 0 评论 -
Git学习——1.2 Git简史
2002 年,Linux 内核开源项目开始启用分布式版本控制系统 BitKeeper 来管理和维护代码。到了 2005 年,开发 BitKeeper 的商业公司同 Linux 内核开源社区的合作关系结束,他们收回了免费使用 BitKeeper 的权力。这就迫使 Linux 开源社区(特别是 Linux 的缔造者 Linus Torvalds )不得不吸取教训,只有开发一套属于自己的转载 2015-01-05 20:42:28 · 407 阅读 · 0 评论 -
Git学习——1.3 Git基础
直接记录快照,而非差异比较Git 和其他版本控制系统的主要差别在于,Git 只关心文件数据的整体是否发生变化,而大多数其他系统则只关心文件内容的具体差异。这类系统(CVS,Subversion,Perforce,Bazaar 等等)每次记录有哪些文件作了更新,以及都更新了哪些行的什么内容。这是 Git 同其他系统的重要区别。Git 更像是个小型的文件系统,但它同时还提供了许多以此为基础转载 2015-01-05 20:43:20 · 284 阅读 · 0 评论 -
简要介绍WPF
什么是WPFWPF是Windows Presentation Foundation的简称,顾名思义是专门用来编写程序表示层的技术和工具。当今的程序除了一些非常小巧的实用工具外,大部分程序都是多层架构的程序,一般至少包含三层:数据层、业务逻辑层和表示层。这3层的功能大致如下:数据层:用于存储数据,多由数据库构成,有时候也用数据文件能辅助存储数据。原创 2015-01-05 20:47:23 · 1224 阅读 · 0 评论 -
链表的创建输入查找和插入
#include #include using namespace std;//typedef char DataType;struct Node{ char data; int jishu; Node *next; };//typedef Node *LinkList;int main(){ Node *head=NULL; head原创 2015-01-05 20:59:56 · 431 阅读 · 0 评论