刷题
qiusi0225
这个作者很懒,什么都没留下…
展开
-
long long 输入
long long,输入输出部分:在windows中用 "%I64d" 格式输入输出,而在linux中用 "%lld" 格式输入输出#includeint main(){ long long a,b; int m; while(scanf("%d",&m)!=EOF){ if(m==0) break; scanf("%I64d%I64d"原创 2016-06-28 13:12:37 · 862 阅读 · 0 评论 -
最长字段和
所以多刷题才能多见识,慢慢积累,冰冻三尺非一日之寒,真的是这样。还是要多注意细节。#include #include int main(){ long a; long long max,t; int n; while(scanf("%d",&n)!=EOF){ t=0; max = LL原创 2016-05-07 09:57:41 · 787 阅读 · 0 评论 -
二分查找法降低时间复杂度
二分查找,将时间复杂度由O(n*m)降为O(n*logn+m*logn)。再次注意,字符串的输入输出,。。找了半天的bug。。。。#include #include#include using namespace std;struct student{ char no[5]; char name[20]; int age; bool operato原创 2016-05-31 09:52:36 · 548 阅读 · 0 评论 -
叠框之scanf空格
找了半天bug,才发现scanf里没有空格,输入的时候我却加了空格。觉着今天这个叠框循环控制有点难,还是没怎么看懂。继续看几遍。。#includeint main(){ int buf[82][82]; char a,b; int n; bool flag=true; while(scanf("%d %c %c",&n,&a,&b原创 2016-05-29 16:16:51 · 269 阅读 · 0 评论 -
char数组的scanf与strlen
有时候cin/cout要超时,尽量使用c写代码注意char数组的的获得与长度。#include#includeint main(){ char a[25]; while(scanf("%s",a)!=EOF){ int k=strlen(a); for(int i=0;i for(int原创 2016-04-21 09:00:13 · 813 阅读 · 0 评论 -
斐波那契图形
interesting~~#include int F(int n){ int s; if(n==0||n==1) s=n; else s=F(n-2)+F(n-1); return s;}int main(){ int n; while(scanf("%d",&n)!=EOF){ in原创 2016-05-05 10:34:06 · 1474 阅读 · 0 评论 -
Coincidence
虽然做过这一题,简直崩溃,交大的题目可真难。。。这次是算长度,还简单些。。。#include#includechar a[105];char b[105];int c[105][105];void lcs_len();int main(){ while(scanf("%s%s",&a,&b)!=EOF){ lcs_len(原创 2016-05-05 09:46:46 · 527 阅读 · 0 评论 -
数组下标偏移
Hash应用2#include#define OFFSET 500000int Hash[1000001];int main(){ int m,n; while(scanf("%d%d",&n,&m)!=EOF){ int i; for(i=-500000;i<=500000;i++) Hash原创 2016-05-28 11:45:23 · 603 阅读 · 0 评论 -
old bill
英文题目只要仔细读题,并不是很难。自己还是要多做题,代码可以优化很多。#include #include int main(){ int n,x,y,z,sum,a,b; while(scanf("%d",&n)!=EOF){ int i,j; int max=0;原创 2016-05-03 09:19:06 · 711 阅读 · 0 评论 -
Hash小应用
对于图片中的题目,很自然想到了用数组来存取,但是hash表真的超好用!/*#include using namespace std;int s[1005];int main(){ int n,g,cnt; while(cin>>n&&n!=0){ cnt=0; for(int原创 2016-05-13 09:49:20 · 231 阅读 · 0 评论 -
struct在c与c++里的区别
以前好多问题都没有注意,c和c++混在一起用,出了问题解决了就不管了。所以一直忽略了这个问题。struct作为类的一种特例,是用来自定义数据结构的,在编程的过程中是很有用的。C和C++的主要区别是:一个结构标记声明后,C语言必须在结构标记前加上struct才能作为结构类型名,而C++语言中,结构标记可以直接作为结构类型名使用。此外,结构在C++中被作为类的一种特例,并且在结构中,数据成员和成员原创 2016-05-13 09:16:54 · 365 阅读 · 0 评论 -
对称平方数
interesting#include #include int isC(int x){ int s=x*x; int flag=1; int m=0; int a[100],i; while(s!=0){原创 2016-05-01 20:19:35 · 288 阅读 · 0 评论 -
循环代替递归
帮同学解决c小问题,本来以为非要用递归,结果发现循环就足够了。。。大概就是s=1+(1+2^0.5)+(1+2^0.5+3^0.5)...+(1+2^0.5+...+n……0.5).一个双重循环就搞定了。觉着c小程序还挺有意思。#include #includeint main(){ int n,i,j; float s=1,sum; printf("请输原创 2016-05-31 16:42:57 · 1326 阅读 · 0 评论 -
EOF&.0
while里面不能少EOF不然会超时,double运算分母要加.0。#include #include #includeint main(){ double x0,y0,z0,x1,y1,z1,r,v,PI; while(scanf("%lf%lf%lf%lf%lf%lf",&x0,&y0,&z0,&x1,&y1,&z1)!=EOF){原创 2016-04-23 19:07:26 · 236 阅读 · 0 评论 -
大数对0-9求余
参加天津大学夏令营,遇到此题,没做出来。。。回来坤神给我科普,果然,冰冻三尺非一日之寒,需要日积月累下功夫。。#include#includeint main(){ int n; int tmp; while(scanf("%d",&n)!=EOF){ int i; for(i=0;i<n;i++){ scanf("%d",&tmp); int p=tmp;原创 2016-07-12 10:26:15 · 738 阅读 · 0 评论 -
特殊乘法
解决模数问题,除了一般数学方法外,可以直接以字符数组形式存储,省好多代码;/*#includeint buf1[30],buf2[30];int sum;int size1,size2;int main(){ int a,b; while(scanf("%d%d",&a,&b)!=EOF){ while(a!=0){原创 2016-06-07 09:24:43 · 275 阅读 · 0 评论 -
二叉树的操作
已知二叉树的前序和中序遍历,求后序遍历。涉及到二叉树的一系列操作,当我输入EOF时程序没结束很郁闷,问了大神才知道,结束符要 control+Z 组合输出,get~第一次自己主动写注释,感觉自己是个超级不称职的程序员。跟接口老师啥都没学会,唯独知道了匈牙利命名法。以后要规范。不以规矩不成方圆。代码如下:#include#includeusing namespace std;s原创 2016-06-05 19:07:02 · 295 阅读 · 0 评论 -
哈夫曼树
今天才知道,哈夫曼树的权值就等于所有非叶子节点的和。求哈夫曼树要用小顶堆。代码实现:#include#includeusing namespace std;priority_queue,greater> Q;//定义小顶堆int main(){ int n; while(scanf("%d",&n)!=EOF){ while(!Q.empty())原创 2016-06-05 15:57:05 · 391 阅读 · 1 评论 -
简单计算器
感觉这个过程好长,估计如果真的机试这题,我可能做不出来。。。还有点小问题,也不想找了。。。。我这个不合格的程序员。。。#include#includeusing namespace std;char str[101];int mat[][5]={ 1,0,0,0,0, 1,0,0,0,0, 1,0,0,0,0, 1,1,1,0,0, 1,1原创 2016-06-03 10:33:20 · 248 阅读 · 0 评论 -
括号匹配问题
栈的小应用/*)(rttyy())sss)(/*#include#include#include#includeusing namespace std;int main(){ int i; char str[101],Mark[101]; while(scanf("%s",str) != EOF){ stack S;原创 2016-06-02 09:47:35 · 253 阅读 · 0 评论 -
flag刷新
本以为这题很水,事实上确实很水,然后我就是忘记每次运算完刷新flag的值,找了半天才找出来bug。。。。#include using namespace std;int main(){ int v[200]; int i,j,k,t; int count,value; int flag=1; count=0; va原创 2016-04-24 19:41:25 · 294 阅读 · 0 评论 -
今天第几天
也是醉了,,,连闰年怎么判断的都忘了,呵呵呵。。。细节不注意真的是个大问题。#include #include int isrun(int year){ if((year%4==0&&year%100!=0)||year%400==0) return 1; else return 0;}int main原创 2016-04-24 16:03:24 · 203 阅读 · 0 评论 -
贪心算法之活动安排电视节目收看等
使用贪心算法安排电视节目收看,求最大。它和以前学过的活动安排一样的。#include #includeusing namespace std;struct show{ int startTime; int endTime; bool operator <(const show &a)const{ return endTime<原创 2016-06-01 10:02:35 · 1037 阅读 · 0 评论 -
FatMouse'trade
贪心算法小应用~代码:#include #includeusing namespace std;struct trade{ double javaBean; double catFood; double value; bool operator <(const trade &a)const{ r原创 2016-06-01 09:28:17 · 378 阅读 · 0 评论 -
数组足够大加零声明char*
在遇到字符串的时候,要把数组声明的足够大然后就可以ac了。。。记住,如果想要输出03,就把它声明为char*就好了。。。。#include #include #includestruct student{ char num[100]; char name[100]; char sex[100]; int age;}s[10原创 2016-04-23 19:55:14 · 320 阅读 · 0 评论 -
杨辉三角形
题目说要用递归,可不用也可以AC,而且用了反而超时了,是我的代码有问题吗?。。。/*ncludeint main(){ int a[101][101]; int n,i,j; while(scanf("%d",&n)!=EOF){ for(i=1;i for(j=1;j if(i==j||j==1)原创 2016-05-01 16:22:18 · 202 阅读 · 0 评论 -
计算结果切记类型
刷浙大的最后几题刷不下去了,看到交大全英文的题目傻眼了。就尝试着哈工大的题目,发现前几题真的好easy。只是还是要注意细节,比如第一题,就要注意Int->double的转换。刚开始没想到三重循环,所以还是要多刷题,常练手。#include using namespace std;int main(){ int x,y,z,n; while(cin>>原创 2016-03-29 09:57:58 · 238 阅读 · 0 评论 -
大整数
今天和同学聊天,发现自己要想去远方,必须好好练练自己了。大整数,很简单的一个问题,直到今天,我才知道怎么实现。。。发现当你把刷题当作一种兴趣,你就可以乐在其中,真的。不过为什么我用C++一直实现不了,就很郁闷了,明明可以的。。。。#include #include #define Max 210int a1[Max];int a2[Max];char sa1[M原创 2016-03-11 00:13:17 · 348 阅读 · 0 评论 -
最大公约数和众数
刚刚看到最大公约数的时候,还想着用两个数组把因子存起来,看了别人的代码才发现自己想法简单粗暴。。。。#include using namespace std;int main(){ int a,b; while(cin>>a>>b){ if(a>b){ int t=a; a=b;原创 2016-04-07 11:39:17 · 224 阅读 · 0 评论 -
冒泡排序
好久没有使用冒泡排序了,那么基础,都给忘了。#include #includeusing namespace std;int main(){ string s; while(cin>>s){ int i,j; char c; for(i=0;i for(j=i+1原创 2016-04-06 20:47:42 · 201 阅读 · 0 评论 -
空 格不能多
刷寻找大富ong那题的时候,刷刷刷就搞定了,结果提交却显示presentation error。让我好郁闷。一百度才发现自己多了一个空格。果然,越简单的题越不能大意。#include #include using namespace std;bool cmp(int a,int b){ return a>b;}int main(){原创 2016-03-24 14:36:21 · 234 阅读 · 0 评论 -
excel排序
有时候思路可能已经有了,但是实现的方式却会让你的代码和别人的差别很大。sort函数还是要多加练习,要包含头文件algorithm。#include #include #include using namespace std;struct record{ char id[10]; char name[10]; int grade;}r原创 2016-03-24 14:12:54 · 265 阅读 · 0 评论 -
数字阶梯求和
本以为这题好简单,刷刷刷,输入1 10,ok提交了却wrong,很不解。一百度,却发现自己真是傻了,数据太大,必须要用数组存储。终于懂了,原来要注意数据的长度,大数据要用数组存咯。#include using namespace std;int main(){ int n; int a; int j; while(ci原创 2016-04-05 23:33:31 · 545 阅读 · 0 评论 -
继续xxx定律
看到这个题目时,一点想法也没有。然后看到论坛上说,对于3 8 4 7 15 ,求出每个数的覆盖数序列,最后组成一个覆盖数集合,然后在其中查找原序列中的数,没找到则为关键数。。。才明白怎么回事。多做题才能有积累。加油,积少成多~~#include #include using namespace std;int main(){ int k,n;原创 2016-03-23 00:13:16 · 342 阅读 · 1 评论 -
ZOJ
看了别人做的,才发现自己好水。。。。这题原来只需要统计字符的个数然后输出就好了。再一次发现codeblocks有问题,哪天有时间一定要用VS,把它好好装下#include #include using namespace std;int main(){ char s[105]; int zc,oc,jc; while(cin>>s&原创 2016-03-22 00:05:33 · 244 阅读 · 0 评论 -
边计算边输出
有时候题目本身并不难,难的是输出格式的控制。要有边计算边输出的意识,这样就可以省掉数组去存储计算结果。哈工大完数,就是这个模式。#include using namespace std;int main(){ int n; int s; int count; while(cin>>n){ count=原创 2016-04-02 11:47:30 · 392 阅读 · 0 评论 -
erase()
做哈工大的去特定字符,本来觉着好简单,但就是wrong,百度才发现原来判断不相等输出就好了,if(s[i]!=c) cout我原来一直尝试着把相等的去掉,结果老是出错,才明白字符c不一定是单个字符,不能直接和s[i]判等,果然还是要仔细审题。不过顺道又复习了下erase()的用法.:erase函数的原型如下:(1)string& erase ( size_t pos = 0, size原创 2016-04-02 11:12:08 · 411 阅读 · 0 评论 -
游船租赁
本来觉着时间好复杂,不知道怎么计算和存储,看了别人的才懂。以后还是要多加练习。#include #include struct boat{ int flag;//´¬ÊÇ·ñ±»½è³ö int num; int start; int time;}Boat[105];int main(){ int i,num原创 2016-03-20 15:34:08 · 800 阅读 · 0 评论 -
还是a+b
到现在才抽出点时间来刷题。不过还是,这题比较容易。哈哈哈,我居然说它容易了。以后还是要按时有计划的去做事情,不能拖拉。看了考研学长的心得,瞬间觉着,能保研就拼死也要保研,真的,考研好痛苦的说。。。一定要加强训练了。既然选择了远方,便只顾风雨兼程。一个小小的知识点:pow函数的使用。visual studio 2012中pow函数指的应该是VC6.0中原型为double po原创 2016-03-09 00:17:14 · 359 阅读 · 0 评论 -
ranklist
终于明白这个看似简单的题目,为啥是四星了。。。要注意好多好多细节。我找了半天的bug,才发现,字符长度为20,至少要定义其长度26,要留一位存"/0"...还有cmp和sort的使用,学算法课的时候经常用,确实要注意升序和降序,还有,最最最重要的是,要仔细阅读题目,不能分神,以后做题不能三心二意了。嗯嗯,灵活运用函数还是很省事的啦#include #include #i原创 2016-03-07 11:22:51 · 1137 阅读 · 0 评论