OJ
_Naive_
敲什么代码,睡觉不香吗?
展开
-
[借鉴]ACM训练计划
本文内容全为转载 看完人家的博客,发现任重道远。。。一位高手对我的建议:一般要做到50行以内的程序不用调试、100行以内的二分钟内调试成功.acm主要是考算法的 ,主要时间是花在思考算法上,不是花在写程序与debug上。 下面给个计划你练练:第一阶段: 练经典常用算法,下面的每个算法给我打上十到二十遍,同时自己精简代码, 因为太常用,所以要练到写时不用想,10-15分钟内打完,甚至关掉显转载 2015-08-25 09:59:20 · 861 阅读 · 0 评论 -
[水题]杭电1097 A hard puzzle
http://acm.hdu.edu.cn/showproblem.php?pid=1097 开始不小心,写错了点 直接贴代码#include <stdio.h>int main(void){ int a,b,c; int i,flag; while (~scanf("%d %d",&a,&b)) { for(;;) {原创 2016-02-15 14:34:46 · 390 阅读 · 0 评论 -
[水题]HDOJ1020
http://acm.hdu.edu.cn/showproblem.php?pid=1020这道题是个普通的枚举,条理清晰就没问题 如下这段代码,用太多if else就会造成超时#include <stdio.h>#include <string.h>int main(){ int N,i,n,j; char a[1001]; int count=1; whi原创 2015-09-08 16:59:46 · 448 阅读 · 1 评论 -
[问题]HDOJ1032 The 3n + 1 problem
http://acm.hdu.edu.cn/showproblem.php?pid=1032 这题可以用暴力求解,求出在[ni,nj]之间所有数字产生的最大值。 通过观察可以知道,当nk靠近nj的时候,产生的值越多,于是,我觉得可以在暴力的基础上做一些小的变化,减少对ni,nj中值得考查#include <stdio.h>int main(){ int m原创 2015-08-23 08:40:52 · 663 阅读 · 0 评论 -
[水题]杭电1004
http://acm.hdu.edu.cn/showproblem.php?pid=1004#include #include struct node{ int count; char a[1001];}colors[1001];int main(){ int n,i,j,t,count,max; while (scanf("%d",&n)!=EOF) {原创 2015-09-03 09:12:27 · 385 阅读 · 0 评论 -
[水题]hdoj1040 As Easy As A+B
一般情况下,数组要开的大一些,然后尽量不写子函数 这题用冒泡就可以顺利的完成#include<stdio.h>int main(){int r,repeat,n,i,j,temp;int a[1000];scanf("%d",&repeat);for(r=0;r<repeat;r++){scanf("%d",&n);for(i=0;i<n;i++)scanf("%d",&a[i])原创 2015-08-17 15:57:09 · 357 阅读 · 0 评论 -
[观察]HDOJ1021Fibonacci Again
http://acm.hdu.edu.cn/showproblem.php?pid=1021 Problem Description There are another kind of Fibonacci numbers: F(0) = 7, F(1) = 11, F(n) = F(n-1) + F(n-2) (n>=2).Input Input consists of a sequence原创 2015-08-17 16:52:16 · 550 阅读 · 0 评论 -
[备注]HDOJ题目分类
模拟题, 枚举 1002 1004 1013 1015 1017 1020 1022 1029 1031 1033 1034 1035 1036 1037 1039 1042 1047 1048 1049 1050 1057 1062 1063 1064 1070 1073 1075 1082 1083 1084 1088 1106 1107 1113 1117 1119 1128 1129 11转载 2015-08-05 11:20:24 · 476 阅读 · 0 评论 -
[拓展]杭电1003(最大子数组问题)
就题目本身,不考虑时间限制,解法是很多的 首先 可以暴力求解,用三重循环解决 优化一次 省略一次循环,这里给出一段代码(在杭电上超时,还是需要进一步优化)#include <stdio.h> int MaxSum(int* A,int n,int* i,int* j) { int maximum=-100000,sum,t,p; for (*i=0;*i<原创 2015-08-13 22:40:08 · 512 阅读 · 0 评论 -
杭电1000,1001
最近才开始做ACM,很多东西都不了解,杭电1000提交了13次,才AC一次现在保持每隔一段时间把自己AC的代码以及在其他地方做的题都发到博客上,记录ACM之路杭电OJ,要求输入的时候是循环输入,感觉这相对POJ 有点麻烦杭电1000#include int main(){ int a,b; while(scanf("%d %d",&a,&b)!=原创 2015-07-19 10:56:25 · 678 阅读 · 0 评论 -
[水题]杭电1092,对比
今天做了1092,系统一直提示Time Limit Exceeded,调了半天代码,没用,最后找了别人AC过的代码,对比了一下。#include <stdio.h>int main(){ int i,j,a[1000],t; while(scanf("%d",&i)!=0) { t=0; for (j=0;j<i;j++)原创 2015-07-20 17:03:55 · 1521 阅读 · 1 评论 -
ACM中关于Output Limit Exceeded和Time Limit Exceeded
Output Limit Exceeded 多数发生在递归遍历的过程中,多输出了一些内容(比如说空格)。Output Limit Exceeded还指如果输入某一组数据,你的程序返回的结果是一直输出某个结果,死循环输出的那种。Time Limit Exceeded,如果你相信你的算法是最优的,那就检查一下什么地方在什么数据下出现了死循环。否则还是考虑换个思路解题的好。TLE除了死循环就是算法问题。原创 2015-08-08 23:19:07 · 45280 阅读 · 1 评论