摘要:
地址:http://acm.hdu.edu.cn/showproblem.php?pid=1060题意:n的n次方最左边的数字是多少。mark:还是取对数那招,log10(n^n)的小数部分决定了最左边的数字。代码: 1 # include <stdio.h> 2 # include <math.h> 3 4 5 int calc(long long n) 6 { 7 double ans = n * log10(n) ; 8 ans -= (long long)ans ; 9 return (int)pow(10,ans) ;10 }11 12 13 int ma.. 阅读全文
摘要:
地址:http://acm.hdu.edu.cn/showproblem.php?pid=1045题意:给定一个最大4*4的方形地图,里面有墙(X)和空地(.)。在每个空地上可以放大炮,但两个大炮如果在同一行或同一列并且之间没有墙阻隔的话,会互相攻击,所以不能同时存在。问最多能放多少个大炮。mark:数据小,直接dfs就可以了。1WA,把保存状态的数组开成了全局的- -。据说还可以二分匹配过。代码: 1 # include <stdio.h> 2 # include <string.h> 3 4 5 char g[4][4] ; 6 int vis[4][4] ; 7 阅读全文
摘要:
地址:http://acm.hdu.edu.cn/showproblem.php?pid=2390题意:输入n个运动会项目的举办天和起止时间,不能同时看两场,问最多能看多少场。mark:经典贪心,注意每组输出后面都有一个空行。代码: 1 # include <stdio.h> 2 # include <stdlib.h> 3 4 5 typedef struct NODE{ 6 int s, t ; 7 }NODE ; 8 9 10 NODE sche[50010] ;11 12 13 int cmp(const void *a, const void *b)14 {1 阅读全文
摘要:
地址:http://acm.hdu.edu.cn/showproblem.php?pid=2191题意:中文。512地震默哀。mark:dp。多重背包。先做了1171再做这题就很容易了。代码: 1 # include <stdio.h> 2 # include <string.h> 3 4 5 int dp[110] ; 6 7 8 int main () 9 {10 int T, ans, n, m ;11 int p, h, c, i, j ;12 scanf ("%d", &T) ;13 while (T--)14 {15 ... 阅读全文
摘要:
地址:http://acm.hdu.edu.cn/showproblem.php?pid=1176题意:中文。mark:dp即可。。。类似数塔。代码: 1 # include <stdio.h> 2 # include <string.h> 3 4 5 int dp[100010][11] ; 6 int n , INF = 0x0f0f0f0f ; 7 8 9 int main ()10 {11 int i, j, k, buff, x, t ;12 int max_t, ans ;13 while (~scanf("%d",&n)& 阅读全文
摘要:
地址:http://acm.hdu.edu.cn/showproblem.php?pid=1171题意:有n样物品,每样物品价值是v,件数是m。尽量把这些物品分成两堆使得两边总价值最接近。输出价值。mark:水dp,或者用母函数搞。wa了3次,trick在于结束标记是负数,而非-1。代码: 1 # include <stdio.h> 2 # include <string.h> 3 4 5 int dp[250010] ; 6 7 8 int main () 9 {10 int i, j, k, sum ;11 int n, m, v ;12 while (~s... 阅读全文
摘要:
地址:http://acm.hdu.edu.cn/showproblem.php?pid=2700题意:一个字符串如果有偶数个1,就是o,有奇数个1就是e。给出缺了最后一位的字符串和它的属性,求补足最后一位的字符串。代码: 1 # include <stdio.h> 2 # include <string.h> 3 4 5 char str[110] ; 6 7 int main () 8 { 9 int i, cnt, len ;10 11 12 while (gets (str))13 {14 if (strcmp(str, "... 阅读全文