自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 ZOJ-2416

大爷的,memset方法变量位置填错了,一真Segmentation Fault,memset(flag, 0, 10000 * sizeof(int)) 我写成了memset(flag, 10000 * sizeof(int), 0),这样output竟然是对的??不可思议,一提交就错,坑死。。好吧说正题,这题简单的BFS,但对我这种菜鸟来说就不简单了。。调了一晚上,先是想用JAVA写,不知道是

2014-02-28 22:59:42 496

原创 ZOJ-3290

构造最长的序列,直接看代码吧。。懒的解释,附大神的注释:#3290 简单题,构造最长递增序列拆分,按照 a(n+1) = a(n) * 2 + 1 构造,有剩的全部加到最后一个就是了。#includeint main(){ long long n; long long a[100]; int first = 1; while (scanf("%ll

2014-02-27 22:33:47 469

原创 ZOJ-3220

DOTA杀人后的提示模拟。。处理起来也有点略麻烦,总感觉代码的速度跟不上思考,还是不熟练。。有种缚手缚脚的感觉,还好中逻辑没错,一次A了import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.HashMap;import java.util.

2014-02-27 21:10:03 560

原创 ZOJ-1720

一般般的模拟题,细心点就行,注意1和-1的情况,符号打印完后就把数取绝对值,开始的时候我的逻辑条件里只考虑了常数为1的情况,没考虑到-1,如果没去找测试数据的话估计会WA死。。思维死角真可怕#include#includeint main(){ int a[9]; while (scanf("%d %d %d %d %d %d %d %d %d", &a[8], &a[

2014-02-27 19:33:53 491

原创 ZOJ-2910

繁琐无比的模拟题。。MS代码长度又刷新了最长长度,其实有些地方封装一下可以减少代码行。。懒的弄了,完完全全的苦力代码题,毫无技术含量。。看看AC只有可怜的40,也只有我等蛋疼的人才去做做了。。大神们估计都不屑一顾,话说看到watashi大神竟然A了3次,看来还是会有耐心人去做做的。。我的C代码竟然在status里面能排第一,哈哈#include#include#includestruc

2014-02-26 21:59:39 460

原创 ZOJ-1493

注意下输出格式就行,8个数字后要换行#includeint main(){ int n; while (scanf("%d", &n) != EOF) { int i, a, b, sum = 0; char s[10]; printf("%d", n / 2); for (i = 0; i < n;

2014-02-23 22:22:11 445

原创 ZOJ-1681

枚举下就可以了,水#includeint main(){ int c1[55], c2[97], i, j, n; for (i = 0; i < 55; i++) c1[i] = i * i * i; for (i = 0; i < 97; i++) c2[i] = i * (i + 1) * (i + 2) / 6; w

2014-02-23 20:36:23 427

原创 ZOJ-1716

水题,不多说#include#includeint main(){ int n, p[100][100], r[100][100]; while (scanf("%d", &n), n) { int w, h, s, t, i, j, k, l; memset(p, 0, 100 * 100 * sizeof(int));

2014-02-23 12:41:11 521

原创 ZOJ-3311

好吧,表示规则读了N遍也没读懂,看了大神的解释才明白。。附上:ZOJ串检验,逻辑等价变换,命题等价于:有且仅有一个 Z,有且仅有一个 J,J 在 Z 后面且不能紧跟在后面,另外,中间夹杂的三段 O 分别有 a, b, c 的长度,必须满足 a + b = c。#include#includeint main(){ char s[100]; while (gets

2014-02-23 11:34:38 466

原创 ZOJ-3295

单淘汰赛,求一个人的最大胜场和最小胜场,当这个的value是所有人最大时,胜场固定为n,否则最小胜场为0,因为有可能第一场就碰到厉害的人输掉,最大胜场为比他的小的人加他自己的总数取2的对数#includeint main(){ int n, k, v[1024]; while (scanf("%d %d", &n, &k) != EOF) { in

2014-02-22 23:00:26 504

原创 ZOJ-1042

水题一个#includeint main(){ int k1, k2, k3; char s[81], s1[80], s2[80], s3[80]; while (scanf("%d %d %d", &k1, &k2, &k3), k1 || k2 || k3) { scanf("%s", s); int i, t1 =

2014-02-21 22:45:27 573

原创 ZOJ-1088

约瑟环,纯模拟硬搞的,据说有方法可以直接算,表示不会。。提交了两次,中间把步数优化了一下,原先是直接用m去数,其实可以用m%total步数去数,但这里容易出错,当m%total=0时,要处理一下,用total去数#include#includestruct Building;typedef struct Building *Node;struct Building{ int n

2014-02-21 19:36:41 424

原创 ZOJ-1016

哈哈哈,今天很开心,科目二通过了,虽然中间过程很坑爹,但结果好就行。。不枉我浪费了三天的时间,晚上稍微秒一道水题吧,早点睡觉鸟,这三天好累。。今天和昨天都是5点多就醒了,考试折磨人啊#includeint main(){ int t; scanf("%d", &t); char s[1000]; while (t--) { int

2014-02-20 21:33:00 346

原创 ZOJ-1026

AC200了,总的来说这100题基本还都是水题,前面大部分是模拟,后来做了几道图论,算法用的不多,代码写的稍微熟练了一点,继续努力吧!周四要考科目二了,刷题暂停几天,祝自己能顺利通过,加油!#include#includevoid mulitple_move(int *a, int *temp, int al, int n){ int i; for (i = 0; i

2014-02-16 20:42:59 421

原创 ZOJ-1061

还差一题200,今天略晚先这样吧,明天还要早起呢,收工了#include#includeint main(){ int n, count = 0; scanf("%d", &n); getchar(); char bstack[100][70], fstack[100][70], s[100]; while (n--) {

2014-02-15 22:41:29 523

原创 ZOJ-1058

仍旧是水题。。待我水到200先#includeint main(){ int n, k; scanf("%d", &n); double exchange[6][6]; for (k = 0; k < n; k++) { if (k) putchar('\n'); int i, j;

2014-02-15 17:50:58 368

原创 ZOJ-1057

做几道水题调整调整下,这题就不多说了#include#includeint main(){ int n, a[20], b[20], count = 0; while (scanf("%d", &n), n) { if (count) putchar('\n'); count++; int

2014-02-15 17:02:24 439

原创 ZOJ-2504

单源最短路径,注意home和第一个路口要和mom说的一致,也就是说从第二点开始找到学校的最短路径。还有注意max要设的尽量大#include#include#define INT_MAX 0xFFFFFFFint main(){ int t, count; scanf("%d", &t); for (count = 1; count <= t; count++) { i

2014-02-15 15:48:53 361

原创 ZOJ-3033

有向图的单源最短路径,我用Bellman-Ford算法做的,可以简单判断出有无负权回路#include#include#define LONG_LONG_MAX 9223372036854775807LLstruct Edge{ int u; int v; long long d;};int main(){ int p; scanf("%d", &p); lon

2014-02-15 15:46:03 444

原创 ZOJ-1078

水题一道,求各种进制表示后是否回文数#include#includeint base_number(int number, int base, int res[]){ int total = 0; while (number) { res[total++] = number % base; number /= base;

2014-02-13 22:26:40 560

原创 ZOJ-1089

用DFS求排列组合,感觉写的很丑陋。递归分析实在难啊,需要多练练#include#includevoid DFS(int depth, int src[], int visit[], int ans[], int n){ int i, j; for (i = 0; i < n; i++) { if (!visit[i]) {

2014-02-13 21:59:38 455

原创 ZOJ-1091

BFS最基础题,话说刚开始我还不知道那个Knight怎么走的,后来搜了才发现原来是日字形走法,中间用到queue就先用JAVA写了,保证算法正确性是主要,数据结构次考虑,C实在不方便。。后来想用C重写,写着写着就不想写了。。还是太懒了,先用JAVA将就吧,下次再用C。。import java.util.ArrayList;import java.util.LinkedList;import

2014-02-13 20:40:10 577

原创 ZOJ-3143

分解因数,从9开始分解到2,然后逆序输出,因为这样保证了因数的个数最少,且组合后的数最小。。注意接收输入要用long long,我用int  WA了一次,搜了别人的代码才知道,这道题几乎没人贴代码。。最后在github找到,在此向呆滞的慢板大神致敬!!! 我用的ZOJ分类的文章应该是他写的,因为他的代码里的题目注释和文章里的题解是一样的。。每天就照着那个分类刷题,站在大神的肩膀上向前望#inc

2014-02-12 23:11:51 416

原创 ZOJ-2511

水题一个。。分数加起来排两次序就行了#include#includestruct Design{ int index; double point;};int cmp2511(const void *p1, const void *p2){ struct Design *d1 = (struct Design *) p1; struct Desig

2014-02-12 21:39:17 465

原创 ZOJ-3036

还是最小生成树,代码改改模板就可以了#include#include#includestruct VertexStruct{ int index; struct VertexStruct *parent; int rank;};typedef struct VertexStruct *Vertex;struct Edge{ Vertex u

2014-02-11 23:16:12 392

原创 ZOJ-2326

还是最小生成树,kruskal模板搞定#include#include#includestruct VertexStruct{ char name[21]; struct VertexStruct *parent; int rank;};typedef struct VertexStruct *Vertex;struct Edge{ Ver

2014-02-11 22:22:01 506

原创 ZOJ-1542

依然是最小生成树。。被这题坑了好多次,首先sample output竟然是错的!!做到现在还没碰到过,第一次碰到。还有个坑是test case不止一个,别被迷惑了,开始我还以为处理一个case就行了,后来看了别人的代码才发现。最关键的问题是我在用prim算法和kruscal算法上纠结了好久。。开始用prim算法提交WA,以为这题不能用prim,后来发现两种算法都是可以的。。我了个去啊,各种坑爹难以

2014-02-10 23:21:44 518

原创 ZOJ-1586

直接用Prim最小生成树算法,注意权值要把两个端点的值加上,第一次WA了。。没有把d数组的初始值设的够大,才设了1024,受遗留代码的毒害啊。。改成9999就过了,因为最大权值也就1000+1000+1000#include#includeint main(){ int t, a[500][500], k[500], d[500], p[500], v[500]; sc

2014-02-10 21:38:46 472

原创 ZOJ-2966

好累啊。。好几天没写了,今天不知道怎么回事效率特别低,半个下午加一个晚上就一道。感觉写起来各种不顺和无从下手,其实用JAVA早写好了,后来又用C想用二叉堆来做的,各种不顺手。。最终放弃了,简单地用了个快排来代替堆了,用C也写了不少代码了,总感觉没有入门的样子。。郁闷,算了睡觉鸟,暂时先这样吧,这题其实就最基础的最小生成树,算法书上照搬过来的,功夫不到家真是悲剧,觉得应该多读些别人的优秀代码了#

2014-02-09 23:38:38 527

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除