2011-12-15 22:56:08地址:http://acm.hdu.edu.cn/showproblem.php?pid=1076题意:求y之后第n个闰年是哪年(如果y是闰年,y算第一年)。代码:# include <stdio.h>int IsLeap(int y){ if (y % 4 == 0 && y % 100 != 0 || y % 400 == 0) return 1 ; return 0 ;}int nextleapyear(int y){ int rtn = y+1 ; while (!IsLeap(rtn)) rtn++ ; ...
2011-12-15 15:06:33地址:http://acm.hdu.edu.cn/showproblem.php?pid=1064题意:求12个数的平均数- -。代码:# include <stdio.h>int main (){ int i ; double sum = 0, num ; for (i = 0 ; i < 12 ; i++) { scanf ("%lf", &num) ; sum += num ; } printf ("$%.2lf\n", sum/12.0) ; return 0 ;}
2011-12-15 14:49:48地址:http://acm.hdu.edu.cn/showproblem.php?pid=1049题意:有个蜗牛,每分钟向上爬u,第二分钟休息,下滑d。问几分钟能爬到n长的杆顶。mark:肯定是有公式,但处理边界麻烦,直接模拟。代码:# include <stdio.h>int main (){ int n, u, d, minutes, cur ; while (~scanf ("%d%d%d", &n, &u, &d) && (n||u||d)) { cur = 0, minute
,即f[i]为要凑的钱数为i时 所需的最少硬币数,则c[m]为所求; 当要找的钱数...
Asp.net的NamePipe机制给我们提供了很多扩展性. 使用HttpModule我们可能实现的有:强制站点范围的Cookie策略集中化监控与日志编写设置与删除HTTP头控制response输出,如删除多余空白字符Session管理认证与受权下面我们来看如何实现自定义异常处理:1: public class ErrorModule:IHttpModule2: {
昨天在linux下运行一个C程序,是处理一段视频中的每一帧的,本来在程序中是要每处理完一帧就要输出一条信息的,但是在运行是却不显示,而是在程序运行完成之后一块输出的,但是在windows中运行程序就没有这个问题。如果是这样的话,就非常不爽了,
调试 F:\SoftWare-new\XP-table\XPTable_demo\XPTableSamples\Renderers1、 <HintPath>..\..\XPTable\bin\Release\XPTable.dll</HintPath>要改为<HintPath>..\..\..\XPTable_src\XPTable\bin\Release\XPTable.dll</HintPath>2、查看 Color 列如何添加--》函数protected override void OnLoad(EventArgs e)
ResourceManager myManager = new ResourceManager("XQ_4.Properties.Resources", Assembly.GetExecutingAssembly());1、项目的属性中资源选项中添加文件、字符串而不是解决方案中的Resources文件夹下2、《未能找到任何适合于指定的区域性或非特定区域性的资源。请确保在编译时已将“Reso .》http://blog.csdn.net/mqgh2007/article/details/6336297引用该文件的地方就是 System.Resources.ResourceMa
<?xml version="1.0" encoding="UTF-8"?><config> <needLogin>0</needLogin></config>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb23
考虑到mongodb使用了boost库源码,参考mongodb官方文档后,下载编译boost版本是1.42(时间为2010-2-2)或更新版本: boost版本1.42: http://sourceforge.net/projects/boost/files/boost/1.42.0/boost_1_42_0.zip/download 下载boost源码之后,我把boost
题意:给出p,q,r,s,求c(p,q)/c(r,s)分析:利用组合数公式,写出整体的分子和分母(用数组标记,分子分母各有哪些数),把相同的数字约去。然后把分子乘上,分母除掉。但是这样直接乘除会损失精度。所以我们定义double ans = 1;然后当ans<1时算乘法,ans>=1时算除法,以控制ans始终在1不会和1相差10000倍以上,以保证精度。View Code #include <iostream>#include <cstdlib>#include <cstring>#include <cstdio>using name
打表View Code #include <iostream>#include <cstdlib>#include <cstring>#include <cstdio>using namespace std;#define maxn 35005int n;int pre[maxn], next[maxn];void del(int a){ pre[next[a]] = pre[a]; next[pre[a]] = next[a];}void init(){ n = 35000; for (int i = 0; i < n; i++) { p
最短路View Code #include <iostream>#include <cstdlib>#include <cstring>#include <cstdio>#include <cmath>using namespace std;#define maxn 205struct Point{ double x, y;}point[maxn];double map[maxn][maxn];double subv, walkv;int n;double dist(Point &a, Point &b){ Point
简单题View Code #include <iostream>#include <cstdlib>#include <cstring>#include <cstdio>using namespace std;#define maxn 400#define maxl 100char st[maxn][maxl];int n, m;int from[maxn];int to[maxn];int getid(char *a){ for (int i = 0; i < m; i++) if (strcmp(st[i], a) == 0) retu
最短路View Code #include <iostream>#include <cstdlib>#include <cstring>#include <cstdio>using namespace std;#define maxm 50005#define maxn 1005struct Edge{ int v, next;}edge[maxm * 2];int n, m;int head[maxn];int ecount;int from[maxn];int q[maxn];int stk[maxn];bool vis[maxn];void
矩阵乘法View Code #define w 2005struct Matrix{ int x, y; int num[5][5]; Matrix(int xx, int yy) { x = xx; y = yy; for (int i = 0; i < x; i++) for (int j = 0; j < y; j++) num[i][j] = 0; }};Matrix operator*(Matrix numa, Matrix numb){ Matrix n...
简单题View Code #include <iostream>#include <cstdlib>#include <cstring>#include <cstdio>using namespace std;int n;int main(){ //freopen("t.txt", "r", stdin); while (scanf("%d", &n), n) { long long x = 0; while (x * 2 < n) x = x * 10 + 9; if (
先算0~a的各位数,再算b的,相减得结果View Code #include <iostream>#include <cstdlib>#include <cstring>#include <cstdio>using namespace std;#define maxn 1005long long f[maxn], g[maxn];void cal(int a, long long *f){ if (a == 0) return; long long x = 10; while (x <= a * 10) { long long count
简单题View Code #include <iostream>#include <cstdlib>#include <cstring>#include <cstdio>#include <algorithm>using namespace std;struct Pallet{ int a, b;} pallet[10];bool operator <(const Pallet &p1, const Pallet &p2){ if (p1.a != p2.a) return p1.a < p2.a; ret
排序View Code #include <iostream>#include <cstdlib>#include <cstring>#include <cstdio>#include <algorithm>using namespace std;#define maxn 1005#define maxl 100struct Word{ int id; int len;}word[maxn];int n, m;char st[maxn][maxl];bool vis[maxn];bool found;bool operator <
暴力枚举View Code #include <iostream>#include <cstdlib>#include <cstring>#include <cstdio>using namespace std;#define maxn 10int n;int f[maxn][maxn];int shift[maxn];void input(){ for (int i = 0; i < n; i++) for (int j = 0; j < n; j++) scanf("%d", &f[i][j]);}bo
题意:给定一些点的坐标(hi,wi),要选出一个点集,使得集合所包含的点数最多,且符合A*(H-h) + B*(W-w) <= C,h为集合中最小h,w为点集中最小w。分析:我们是要找到这样的点集,hi>=h,wi>=w,A*(hi-h) + B*(wi-w) <= C。根据线性规划知识,这些点都在一个直角三角形内,两条直角边长度为cw=C/A,ch=C/B。我们的问题转化为用这样一个三角形最多能框住多少点,且根据题意w,h为点集坐标最小值,即三角形两条直角边上都要有点。我们的做法是,枚举n个点,对于每个点,先使其处于三角形的直角顶点(左下角),然后向下平移三角形框,每
模拟View Code #include <iostream>#include <cstdlib>#include <cstring>#include <cstdio>using namespace std;char st[100];bool vis[300];int main(){ //freopen("t.txt", "r", stdin); bool first = true; memset(vis, 0, sizeof(vis)); vis['A'] = true; vis['
模拟题View Code #include <iostream>#include <cstdlib>#include <cstring>#include <cstdio>using namespace std;#define maxl 1005char st[maxl];char ans[maxl];void work(){ int len = strlen(st); int i = 0; int l = 0; int r; while (l < len) { r = l + 1; if (r < len && st[
最小生成树View Code #include <iostream>#include <cstdlib>#include <cstring>#include <cstdio>#include <algorithm>#include <cmath>using namespace std;#define maxn 800#define maxm 1000struct Point{ int x, y;}point[maxn];struct Edge{ int a, b;}edge[maxn * maxn];int n, m;in
题意:给定n,问有n个点的连通图有多少种,每个点是不同的。分析:求出有n个点的图有多少种,求出不连通的有多少种,相减即可。求有n个点的不连通图时,枚举第n个点所在的连通分支有几个点,有k个点的话,除去第n点,还要选k-1个点,有C(n - 1, k -1)种选法。剩余n-k个点,这n-k个点随意构图,每两点间要么有边,要么没边,两种选择。有2^C(n-k,2)种情况。则用C(n - 1, k -1)乘以2^C(n-k,2)再乘以k个点构成连通图的情况总数,这样规模为n的问题转化为规模为k的子问题。dp处理即可。View Code import java.io.*;import java.uti
二分图匹配题意:给定一个r*c的棋盘,其中每列有2个白色格子,其余为黑色。要求选出c个白色格子,且每列一个,且每行至少一个。问能否实现,给出方案。分析:如果r>c则必定无法满足,因为即使每列一个,均位于不同行,还是会有某些行没有被选中的格子。对于其余情况,先进行简单的二分图匹配(每行作为1点构成第一点集,每列作为1点构成第二点集,每个白色格子作为连接其行列点的边),如果每行都能匹配上则首先可以保证每行都有选中的格子,当然此时可能有一些列还有没有被选中的格子,只要在该列里随便选1个白的就行了,不会影响结果。View Code #include <iostream>#includ
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号