2012年3月18日

HDOJ1232 并查集

摘要: 1 /* 呀 博客园支持C代码了 */ 2 # include <stdio.h> 3 4 # define MAXN 1002 5 6 int father[MAXN]; 7 int N, M, i, x, y, cnt; 8 9 int main()10 { 11 while (1)12 {13 scanf("%d%d", &N, &M);14 if (N == 0) break;15 cnt = 0;16 for (i = 1; i <= N; ++i)1... 阅读全文

posted @ 2012-03-18 16:55 getgoing 阅读(204) 评论(0) 推荐(0) 编辑

2012年3月17日

Product:java高精度乘法

摘要: 还是 java 简单! 1 import java.io.*; 2 import java.math.*; 3 import java.util.*; 4 public class Main 5 { 6 public static void main(String[] args) 7 { 8 BigDecimal a,b; 9 Scanner cin=new Scanner(System.in);10 while(cin.hasNextBigDecimal())11 {12 a=cin.ne... 阅读全文

posted @ 2012-03-17 12:48 getgoing 阅读(1101) 评论(0) 推荐(0) 编辑

WA: Product

摘要: 和前面的高精度加法一样,实在找不到原因,之前的大数从来没这样的。。/* UVa 10106 - Product */# include <stdio.h># include <string.h># define MAXN 252char a[MAXN], b[MAXN];char ss[2 * MAXN];void pro(char *s);int main(){ int lena, lenb, i, j, tmp; while (~scanf("%s", a)) { scanf("%s", b); lena = str... 阅读全文

posted @ 2012-03-17 10:47 getgoing 阅读(210) 评论(0) 推荐(0) 编辑

华丽的大数类,华丽的AC:Integer Inquiry

摘要: 参考《算法竞赛入门经典》(刘汝佳)中大数类的实现,终于 AC 了;使用大数类写着感觉很轻松,AC 得也很轻松。。不过还没找到 C 代码 WA 的原因。 1 /* UVa 424 - Integer Inquiry */ 2 # include <iostream> 3 # include <string> 4 # include <cstring> 5 # include <algorithm> 6 7 using namespace std; 8 9 const int maxn = 105;10 11 struct bign{12 int l 阅读全文

posted @ 2012-03-17 00:09 getgoing 阅读(236) 评论(1) 推荐(0) 编辑

2012年3月16日

Integer Inquiry

摘要: 高精度加法,不知错在哪里。、 1 # include <stdio.h> 2 # include <string.h> 3 4 # define MAXN 110 5 6 char s[MAXN], sum[MAXN]; 7 8 int main() 9 {10 int i, len, c, tmp;11 char ch;12 13 while (scanf("%s", s) == 1)14 {15 len = strlen(s);16 17 if (len == 1 && s[0] == ... 阅读全文

posted @ 2012-03-16 23:40 getgoing 阅读(324) 评论(0) 推荐(0) 编辑

Artificial Intelligence

摘要: 读取题目要求格式的字符串是个问题。 1 /* UVa 537 - Artificial Intelligence? */ 2 # include <stdio.h> 3 # include <ctype.h> 4 # include <stdlib.h> 5 6 typedef struct { 7 double val; 8 int vis; 9 }phy;10 11 phy U, I, P, x;12 int T;13 char tmp[50];14 15 void getval(void);16 17 int main()18 {19 int i... 阅读全文

posted @ 2012-03-16 13:23 getgoing 阅读(271) 评论(0) 推荐(0) 编辑

csu 1148 词典

摘要: 快排、二分查找,对于我来说是道好题,对大牛来说,瞄一眼就跳过了。。。 1 # include <stdio.h> 2 # include <string.h> 3 # include <stdlib.h> 4 5 # define MAXN 100005 6 7 typedef struct { 8 char s[12]; 9 char ss[12];10 } word;11 12 word dic[MAXN];13 word key;14 15 int cmp(const void *a, const void *b)16 { 17 return... 阅读全文

posted @ 2012-03-16 00:23 getgoing 阅读(253) 评论(0) 推荐(0) 编辑

2012年3月15日

csu 1019 Simple Line Editor

摘要: 找到之前的错误了: else if (ch=='#' && i>=0) --i;初始条件是 i = -1; 这样i = - 1;时,如果输入“#”,应该被忽略,但这句话其实没有做到。应该这样写: else if (t[i]=='#') j = (j>=0 ? j-1:-1);由于题目中没有提到一行文本到底有多少字符,干脆定义最大为 100 吧,什么?竟然通过了!# include <stdio.h># include <string.h># define MAXN 100char t[MAXN], s[MAXN 阅读全文

posted @ 2012-03-15 21:31 getgoing 阅读(357) 评论(0) 推荐(0) 编辑

Automatic Poetry

摘要: 考虑到每段串中字母顺序不能反序,没有使用栈;为了方便,也没有在输入的同时输出;感觉虽然麻烦点,但是如果加上思考的时间,是比较省时的做法。 1 /* UVa 10361 - Automatic Poetry */ 2 # include <stdio.h> 3 4 # define N 105 5 6 char L1[N], L2[N]; 7 int m[2], n[2]; 8 9 int main()10 {11 int T, i;12 13 scanf("%d", &T);14 getchar();15 while (T--)16 {17... 阅读全文

posted @ 2012-03-15 13:33 getgoing 阅读(389) 评论(0) 推荐(0) 编辑

Where's Waldorf?

摘要: 使用函数,结构会更清晰一些;fgets() 使用错,改为 scanf();边界判断错误(每一列下标都是从 0 开始,以 n-1 结尾),判断是否超出边界时,错写为 len*d[s][0];d[8][2] 的第5项错写成 {0,1}了。不管咋样,反正 AC 了。。 1 /* UVa 10010 - Where's Waldorf? */ 2 # include <stdio.h> 3 # include <string.h> 4 # include <ctype.h> 5 6 # define IN(up, x, low) (((x)<=(up) 阅读全文

posted @ 2012-03-15 11:55 getgoing 阅读(331) 评论(0) 推荐(0) 编辑

Palindromes

摘要: 要注意:单个字符是没有对应反序串的。几个测试: 1 NOTAPALINDROME -- is not a palindrome. 2 3 ISAPALINILAPASI -- is a regular palindrome. 4 5 2A3MEAS -- is a mirrored string. 6 7 ATOYOTA -- is a mirrored palindrome. 8 9 B -- is a regular palindrome.10 11 E -- is a regular palindrome.12 13 8 -- is a mirrored palindrome.我... 阅读全文

posted @ 2012-03-15 10:07 getgoing 阅读(196) 评论(0) 推荐(0) 编辑

2012年3月13日

内置类型开方

摘要: 迭代公式:x[n+1] = x[n] + {a/x^(k-1)-x[n]}/k发现BUG,谢谢联系!函数sqrtn() 中,参数x是被开方数, k是开方次数,x0是迭代初值,n是迭代次数;pow() 使用的应该不是迭代法。 1 # include <stdio.h> 2 # include <math.h> 3 4 long double sqrtn(double x, int k, double x0, int n); 5 6 int main() 7 { 8 int k, n; 9 double A, x0;10 11 while (~scanf("%l. 阅读全文

posted @ 2012-03-13 21:31 getgoing 阅读(189) 评论(0) 推荐(0) 编辑

[noj 1002]囧:求最大值最小值 WA 8次

摘要: 没有思考,直接按成法来,第一组数据都没通过。最关键的在于 if else 的结构没有考虑到如果输入的数都相等怎么办,另外如果输入的数是按增序排列也会得到错误的结果: 1 # include <stdio.h> 2 3 int main() 4 { 5 int x, N, min, max; 6 7 while (~scanf("%d", &N)) 8 { 9 max = 0;10 min = 100;11 while (N--)12 {13 sca... 阅读全文

posted @ 2012-03-13 14:37 getgoing 阅读(273) 评论(0) 推荐(0) 编辑

csu 1049 第一次串讲——输入输出练习题

摘要: C++好处理一些,C语言使用 log10(double x) 计算 x 整数部分的位数(结果要 +1): 1 # include <stdio.h> 2 # include <math.h> 3 4 int main() 5 { 6 int n, j, tmp; 7 double x, tot; 8 9 freopen("in.txt", "r", stdin);10 freopen("out.txt", "w", stdout);11 12 while (~scanf("%d%d 阅读全文

posted @ 2012-03-13 11:48 getgoing 阅读(242) 评论(0) 推荐(0) 编辑

HDOJ 1284 钱币兑换问题

摘要: 很久很久以前 WA 过,今天找到了原因:位运算的优先级比 + 低!,重新改了一下结构(for 变 while),稍有提速(31ms—>15ms)。 1 # include <stdio.h> 2 3 int main() 4 { 5 int N, tot; 6 7 while (~scanf("%d", &N)) 8 { 9 tot = 0; 10 while (N >= 0)11 {12 tot += (N>>1)+1;13 N -=... 阅读全文

posted @ 2012-03-13 11:18 getgoing 阅读(223) 评论(0) 推荐(0) 编辑

csu 1011 Counting Pixels

摘要: 没想象中的复杂;先将园分为四块以减少计算量(还可以再细分为八块,略显复杂);判断圆是如何穿过一个像素的:对于右上方的点,只有三种情况:从右边穿过,从右下角的顶点穿过,从下边穿过;先给出一个初始像素(被穿过),然后根据穿过的情况向下一个被穿过的像素扩展,并根据情况计数;像素的表示:右上方定点的坐标:Language: CResult: AcceptedTime:236 msMemory:740 kb最快的只有128ms,求指点。 1 # include <stdio.h> 2 3 int x, y, r; 4 5 int state(int x, int y); // 1: ri.. 阅读全文

posted @ 2012-03-13 00:00 getgoing 阅读(453) 评论(0) 推荐(0) 编辑

2012年3月12日

最长回文子串

摘要: 看了刘汝佳的白书,才发觉最长回文子串不是那么难,关键是将思路转化为代码;之前看到一种通过在两个元素之间加入分隔符的方法,将奇偶情况统一起来,其实并没有减少运算量,感觉没直接的好,虽然代码长点,但是思路清晰;另外学习了如何使用 fgets() 以及为什么不推荐使用 gets() 。# include <stdio.h># include <string.h> # include <ctype.h># define MAXN 1000char ch[MAXN], s[MAXN];int main(){ int len, i, j, max, sta, end; 阅读全文

posted @ 2012-03-12 21:09 getgoing 阅读(281) 评论(0) 推荐(0) 编辑

WA : csu1019 simple line editor

摘要: 查了很多遍,不知道哪里错了,数组还不够大? 1 # include <stdio.h> 2 # include <ctype.h> 3 4 # define MAXN 10005 5 6 char a[MAXN]; 7 int i = -1, j, T; 8 char ch; 9 10 int main()11 {12 freopen("in.txt", "r", stdin);13 freopen("out.txt", "w", stdout);14 15 scanf("%d&q 阅读全文

posted @ 2012-03-12 15:23 getgoing 阅读(197) 评论(0) 推荐(0) 编辑

csu 1214 三个数字

摘要: 1、2、3三个数字组成的序列,要求把所有的2放在前面,所有的3放在后面,输出结果。下面的代码提交了好几次(修改不大)都是WA,错误的原因是输入结束(EOF)前不一定有换行,这样最后一组测试数据就没法输出 1 和 3。 1 # include <stdio.h> 2 3 char ch; 4 int cnt1, cnt3; 5 6 int main() 7 { 8 while ((ch=getchar()) != EOF) 9 {10 if (ch == '2') putchar(ch);11 else if (ch == '1'... 阅读全文

posted @ 2012-03-12 13:29 getgoing 阅读(245) 评论(0) 推荐(0) 编辑

HDOJ 1040 qsort

摘要: 注意 compare 函数的写法,行末不留空格。/* qsort */# include <stdio.h># include <stdlib.h>int compare(const void * a, const void * b){ return (*(int *)a) - (*(int *)b); }int main(){ int T, N, i; int a[1001]; scanf("%d", &T); while (T--) { scanf("%d", &N); for (i = 0; i < N 阅读全文

posted @ 2012-03-12 10:48 getgoing 阅读(182) 评论(0) 推荐(0) 编辑

导航