
ACM简单题
KISS_Gentoo
A lover for archlinux.
A newer for linux netwrok programming.
Hope to write my own code project.
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
HDU2080 夹角有多大II
余弦定理的运用,利用原点和题目给定两点构造三角形。算出三边长度即可利用反余弦函数求得角的大小。/************************************************************************* > File Name: 2080.cpp > Author: Wallance > Mail: halyx@126.com原创 2015-01-30 11:55:31 · 412 阅读 · 0 评论 -
HDU2030 汉字统计
一开始挺摸不着头脑的,后来根据汉字内码的规律得出,也参考了网上大牛的代码,只要ASCII码为负就是汉字了。#include #include intmain(int argc, char **argv) { int n, i, len, cnt; char str[200]; scanf("%d", &n); getchar(); while (原创 2015-01-29 23:14:56 · 334 阅读 · 0 评论 -
HDU2022 海选女主角
#include #include #define abs(x) (x>0?x:-x)intmain(int argc, char **argv){ int n, m; int i, j, score; int score_abs_max; int px, py; while (scanf("%d%d", &n, &m) == 2) {原创 2015-01-29 22:53:57 · 488 阅读 · 0 评论 -
HDU2041 超级楼梯
Fabonacci数列,递推找出规律:f[i] = f[i-1]+f[i-2]#include int res[50];intmain(int argc, char **argv) { int ncase; int n, i; res[1] = 1; res[2] = 2; for (i = 3; i <= 50; ++ i)原创 2015-01-29 23:38:49 · 388 阅读 · 0 评论 -
HDU2040 亲和数
亲和数:甲和乙判断一次,乙和甲还要判断一次#include int solve(int a, int b) { int i, sum; sum = 1; for (i = 2; i < a; ++ i) { if (a % i == 0) sum += i; } if (sum != b) return 0; sum =原创 2015-01-29 23:35:53 · 360 阅读 · 0 评论 -
HDU2037 今年暑假不AC
贪心:利用结束时间排序,选择结束时间早的先看,得到最优解#include #include #include struct Time { int from, to;};int cmp(const void *a, const void *b) { return ((struct Time *)a)->to - ((struct Time *)b)->to;原创 2015-01-29 23:30:35 · 373 阅读 · 0 评论 -
HDU2023 求平均成绩
#includeint Student[50][5];int main(){ int n,m; while(scanf("%d%d",&n,&m)==2) { int i,j,flag=0,k=0,count=0; double aver1=0,aver2=0,aver0[5]; for(i=0; i<n; i++)原创 2015-01-29 23:01:03 · 429 阅读 · 0 评论 -
HDU2042 不容易系列之二
这题废话了这么多,其实就跟孙悟空吃桃子是一个类型的题目。#include intmain(int argc, char **argv) { int ncase; int num; int i; int res; scanf("%d", &ncase); while (ncase--) { res = 3; s原创 2015-01-30 09:59:37 · 433 阅读 · 0 评论 -
HDU2039 三角形
典型的细节题:读入要用double,三边长度要判断是否为正,之后再利用小学结论。#include intmain() { int ncase; double a, b, c; int flag; scanf("%d", &ncase); while (ncase--) { scanf("%lf%lf%lf", &a, &b, &c)原创 2015-01-29 23:33:00 · 418 阅读 · 0 评论 -
HDU2032 杨辉三角
找出规律:f[i][j] = f[i-1][j]+f[i-1][j-1],注意边界问题,防止越界访问#include #include #define ONLINE_JUDGEintmain(int argc, char **argv) { int n, i, j; int triangle[31][31]; //int is_first = 1; #原创 2015-01-29 23:20:36 · 337 阅读 · 0 评论 -
HDU2031 进制转换
经典的进制转换,十进制转换为任何进制直接用短除法反向取余,注意处理大于10的余数。#include #include intmain(int argc, char **argv) { int n, r, k, i; char s[12]; while (scanf("%d%d", &n, &r) == 2) { memset(s, 0, size原创 2015-01-29 23:18:13 · 397 阅读 · 0 评论 -
HDU2036 改革春风吹满地
给定n个点的坐标,求多边形面积:点击打开链接#include #include struct Point { int x, y;};intmain() { struct Point p[105]; int n, i; double area; while (scanf("%d", &n) == 1 && n) { memse原创 2015-01-29 23:29:28 · 442 阅读 · 0 评论 -
HDU2027 统计元音
#include #include intmain(int argc, char **argv) { int ncase, i, len; char str[105]; int num_a, num_e, num_i, num_o, num_u; int is_first = 1;; scanf("%d", &ncase); getchar(原创 2015-01-29 23:09:08 · 391 阅读 · 0 评论 -
HDU2035 人见人爱A^B
同余定理的运用: (a^b)%n = ((a%n)^b)%n#include intmain() { int a, b, i, res; while (scanf("%d%d", &a, &b) == 2 && a && b) { res = 1; for (i = 1; i <= b; ++ i) { res =原创 2015-01-29 23:24:04 · 344 阅读 · 0 评论 -
HDU 2056 Rectangles
#include void swap(double *x, double *y) { double t; t = *x; *x = *y; *y = t;}intmain(int argc, char **argv) { double x1, y1, x2, y2, x3, y3, x4, y4; double width_from, w原创 2015-01-30 11:50:09 · 390 阅读 · 0 评论 -
HDU 2054 A == B ?
#include #include char a[100000], b[100000];void change(char s[]) { int i, len; len = strlen(s); if (strstr(s, ".")) { for (i = len - 1; s[i] == '0'; --i) { s[i] =原创 2015-01-30 11:47:39 · 363 阅读 · 0 评论 -
HDU 2053 Switch Game
#include #include intmain(int argc, char **argv) { int n, i, cnt, temp; while (scanf("%d", &n) == 1) { cnt = 0; temp = (int)sqrt(n); for (i = 1; i <= temp; ++ i) {原创 2015-01-30 11:46:10 · 392 阅读 · 0 评论 -
HDU2084 数塔
经典的动态规划题:动态转移方程:f[i][j] = max{f[i-1][j], f[i-1][j-1]} + a[i][j]#include #include int main(int argc, const char *argv[]){ int ncase; int num[105][105]; int max_sum[105][105]; in原创 2015-01-30 12:46:18 · 453 阅读 · 0 评论 -
HDU2057 A + B Again
16进制数加减法,要注意负数输出的问题。#include intmain(int argc, char **argv) { long long a, b; while (scanf("%llx%llx", &a, &b) == 2) { printf(a + b < 0 ? "-%llx\n" : "%llx\n", a + b < 0 ? - a - b : a + b);原创 2015-01-30 11:51:45 · 427 阅读 · 0 评论 -
HDU2052 Picture
#include intmain(int argc, char **argv) { int n, m, i , j; while (scanf("%d%d", &n, &m) == 2) { printf("+"); for (i = 1; i <= n; ++ i) printf("-"); printf("+\n");原创 2015-01-30 11:45:38 · 372 阅读 · 0 评论 -
HDU 2044 一只小蜜蜂...
#include long long path[60][60];long long solve(int a, int b) { if (path[a][b]) return path[a][b]; if (b < a) return 0; if (b == a + 1) return 1; if (b == a + 2) return 2; retu原创 2015-01-30 10:06:29 · 485 阅读 · 0 评论 -
HDU2025 查找最大元素
#include #include intmain(int argc, char **argv) { char str[200]; int i, len; char maxch; while (scanf("%s", str) != EOF) { maxch = str[0]; len = strlen(str);原创 2015-01-29 23:05:19 · 373 阅读 · 0 评论 -
HDU2020 绝对值排序
#include #define abs(x) (x>0?x:-x)void swap(int *a, int *b) { int t; t = *a; *a = *b; *b = t;}intmain(int argc, char **argv) { int n; int num[105]; int num_abs[105]原创 2015-01-29 22:51:42 · 383 阅读 · 0 评论 -
HDU2051 Bitset
说得这么复杂,搞得我以为要学习C++的bitset类一样,其实就是十进制转二进制#include intmain(int argc, char **argv) { int n, k; int bit[15]; while (scanf("%d", &n) == 1) { k = 0; while (n > 0) {原创 2015-01-30 11:44:14 · 368 阅读 · 0 评论 -
HDU2026 首字母变大写
使用scanf读入字符串,遇到空格就会自动断开,这给我们解题创造了机会,只要每次用scanf读入一个单词,之后用getchar读取并用putchar输出就好了。#include #include intmain(int argc, char **argv) { char str[105]; int len, i; while (fgets(str, 105, s原创 2015-01-29 23:08:06 · 401 阅读 · 0 评论 -
HDU2021 发工资咯:)
#include intmain(int argc, char **argv) { int n, count; int salary; while (scanf("%d", &n) == 1 && n != 0) { count = 0; while (n--) { scanf("%d", &salary);原创 2015-01-29 22:53:16 · 451 阅读 · 0 评论 -
HDU2043 密码
#include #include void judge(char *s, int *upper, int *lower, int *digit, int *special) { int len, i; len = strlen(s); for (i = 0; i < len; ++ i) { if (s[i] >= 'A' && s[i] <= 'Z原创 2015-01-30 10:04:00 · 423 阅读 · 0 评论 -
HDU2014 青年歌手大奖赛_评委会打分
#include void swap(int *a, int *b) { int t; t = *a; *a = *b; *b = t;}void bubble_sort(int num[], int n) { int i, j; for (i = 0; i < n - 1; ++ i) { for (j = i + 1;原创 2015-01-28 07:52:39 · 572 阅读 · 0 评论 -
HDU2012 素数判定
#include #include int is_prime(int x) { if (x == 2) return 1; int i; int k = (int)sqrt(x); for (i = 2; i <= k; ++ i) { if (x % i == 0) return 0; } return 1;}intm原创 2015-01-28 07:50:07 · 340 阅读 · 0 评论 -
HDU2011 多项式求和
#include intmain(int argc, char **argv) { int ncase; int n, i; int sign; double sum = 0.0; scanf("%d", &ncase); while (ncase--) { scanf("%d", &n); sign = 1;原创 2015-01-28 07:49:24 · 322 阅读 · 0 评论 -
HDU2010 水仙花数
#include #include int judge(int num) { int ge, shi, bai; ge = num % 10; shi = num / 10 % 10; bai = num / 100; if (ge * ge * ge + shi * shi * shi + bai * bai * bai == num)原创 2015-01-28 07:47:32 · 409 阅读 · 0 评论 -
HDU2009 求数列的和
#include #include intmain(int argc, char **argv) { int n, m; double sum; double temp; while (scanf("%d%d", &n, &m) == 2) { sum = 0.0; temp = n; while (m--)原创 2015-01-28 07:46:20 · 385 阅读 · 0 评论 -
ACM简单题——HDU2008 数值统计
#include intmain(int argc, char **argv) { int n; int positive_count; int negative_count; int zero_count; double temp; while (scanf("%d", &n) == 1 && n != 0) { positi原创 2015-01-28 07:44:01 · 563 阅读 · 0 评论 -
ACM简单题——HDU2006 求奇数的乘积
#include intmain(int argc, char **argv) { int n; long long mul; int num; while (scanf("%d", &n) == 1) { mul = 1; while (n--) { scanf("%d", &num);原创 2015-01-28 07:40:23 · 591 阅读 · 0 评论 -
ACM简单题——HDU2004 成绩转换
#include int change(int score) { if (score > 100 || score < 0) return -1; else if (score = 90) return 'A'; else if (score = 80) return 'B'; else if (score = 70) return 'C'; else原创 2015-01-28 07:37:33 · 615 阅读 · 0 评论 -
ACM简单题——HDU2002 计算球体积
#include #define PI 3.1415927doublecalc_v(double r) { return 4.0/3.0*PI*r*r*r;}intmain(int argc, char **argv) { double r; while (scanf("%lf", &r) == 1) { printf("%.3lf\n",原创 2015-01-28 07:34:17 · 464 阅读 · 0 评论 -
ACM简单题——HDU2001 计算两点间的距离
#include #include double calc(double x1, double y1, double x2, double y2) { return sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));}intmain(int argc, char **argv) { double x1, y1, x原创 2015-01-28 07:32:25 · 493 阅读 · 0 评论 -
HDU2015 偶数求和
#include #include intmain(int argc, char **argv) { int n, m, i; int num[105]; int res[105]; int sum, cnt; for (i = 1; i < 105; ++ i) { num[i] = i * 2; } while (原创 2015-01-28 07:53:32 · 382 阅读 · 0 评论 -
HDU2017 字符串统计
#include #include intmain(int argc, char **argv) { int ncase; int cnt; scanf("%d", &ncase); getchar(); char ch; while (ncase--) { cnt = 0; while ((ch =原创 2015-01-28 07:55:08 · 360 阅读 · 0 评论 -
HDU2018 母牛的故事
#include intmain(int argc, char **argv) { int n, i; int f[100]; f[0] = 0; f[1] = 1; f[2] = 2; f[3] = 3; for (i = 4; i <= 100; ++i) f[i] = f[i-1] + f[i-3]; wh原创 2015-01-28 07:55:33 · 362 阅读 · 0 评论