随笔分类 - ACM
摘要:深度搜索应用之黑白图像(非递归)前言: 使用深度搜索,有两个方法:递归,栈。本质是栈。 递归有一个缺陷,栈溢出。栈有一个缺陷,程序相对递归更复杂。练习题: 输入一个n*n的黑白图像(1表示黑色,0表示白色),任务是统计其中八连块的个数。如果两个黑格子有公共边或者公共顶点,就说它们属于同一个八连...
阅读全文
摘要:/******一、两圆相离、外切或至少有一圆半径为0:所求面积为0。二、两圆内切、内含:所求面积为小圆面积。三、两圆相交:这种情况分两种小情况:1、两圆心在公共弦的异侧,如图1所示;2、两圆心在公共弦的同侧如图2所示。先看图1,阴影部分可由公共弦AB分成两个弓形,求出两个弓形的面积相加即可,即S(阴影) =S(扇形O1AB)-S(三角形O1AB)+S(扇形O2AB)-S(三角形O2AB)=S(扇形O1AB)+S(扇形O2AB)-S(四边形O1AO2B),即两扇形面积和与四边面积之差。再来看图2,这时所求面积为:S(扇形O1AB)-S(三角形O1AB)+S(扇形O2AB)+S(三角形O2AB)=
阅读全文
摘要:Problem Description 给定K个整数的序列{ N1, N2, ..., NK },其任意连续子序列可表示为{ Ni, Ni+1, ..., Nj },其中 1 <= i <= j <= K。最大连续子序列是所有连续子序列中元素和最大的一个, 例如给定序列{ -2, 11, -4, 1
阅读全文
摘要:1 在小学的时候,我们的学生都能把“整数表示成分母是1的分数”,而且大多数学生也都能把有限小数和循环小数表示成分数的形式.这样,整数、分数、有限小数、循环小数都属于有理数.教科书中说“整数和分数统称有理数”,其中当然包括有限小数和无限循环小数. 2 3 例 把3, 0.2, ,,,表示成分数. 4
阅读全文
摘要:某电视台举办了低碳生活大奖赛。题目的计分规则相当奇怪: 每位选手需要回答10个问题(其编号为1到10),越后面越有难度。答对的,当前分数翻倍;答错了则扣掉与题号相同的分数(选手必须回答问题,不回答按错误处理)。 每位选手都有一个起步的分数为10分。 某获胜选手最终得分刚好是100分,如果不让你看比赛过程,你能推断出他(她)哪个题目答对了,哪个题目答错了吗? 如果把答对的记为1,答错的记为0,则10个题目的回答情况可以用仅含有1和0的串来表示。例如:0010110011 就是可能的情况。 你的任务是算出所有可能情况。每个答案占一行。 答案写在“解答.t...
阅读全文
摘要:/* 有一群海盗(不多于20人),在船上比拼酒量。过程如下:打开一瓶酒, 所有在场的人平分喝下,有几个人倒下了。再打开一瓶酒平分,又有倒 下的,再次重复...... 直到开了第4瓶酒,坐着的已经所剩无几,海盗 船长也在其中。当第4瓶酒平分喝下后,大家都倒下了。 等船长醒来,发现海盗船搁浅了。他在航海
阅读全文
摘要:福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式: ABCDE * ? = EDCBA 他对华生说:“ABCDE应该代表不同的数字,问号也代表某个数字!” 华生:“我猜也是!” 于是,两人沉默了好久,还是没有算出合适的结果来。 1 #include<iostream> 2 3 int main()
阅读全文
摘要:/* 假设有两种微生物 X 和 Y X出生后每隔3分钟分裂一次(数目加倍),Y出生后每隔2分钟分裂一次(数目加倍)。 一个新出生的X,半分钟之后吃掉1个Y,并且,从此开始,每隔1分钟吃1个Y。 现在已知有新出生的 X=10, Y=89,求60分钟后Y的数目。 如果X=10,Y=90 呢? 本题的要求
阅读全文
摘要:1 #include<unistd.h> 2 #include<stdio.h> 3 #include<dirent.h> 4 #include<string.h> 5 #include<stdlib.h> 6 #include<sys/stat.h> 7 #include<sys/types.h>
阅读全文
摘要:一天半把彩色bmp转成黑白了。 原理是: 第一步:读出位图数据的偏移位置:即第11个字节,用fseek即可。 然后将偏移位置之前的数据全部写入新的bmp图中。 第二步:用fseek移到位图数据这前,判断并转换成二值的黑白图。 还有,要注意一点:查ascii表B 0x42,M0x4d,bfType 为
阅读全文
摘要:/* 爆头 Description gameboy是一个CS高手,他最喜欢的就是扮演警察, 手持M4爆土匪的头。也许这里有人没玩过CS,有必 要介绍一下“爆头”这个术语:所谓爆头,就是子 弹直接命中对方的头部,以秒杀敌人。 现在用一个三维的直角坐标系来描述游戏中的三维空间 (水平面为xoy平面,z轴
阅读全文
摘要:/*问题B时间限制:10000/5000ms(JAVA /其他)内存限制:65536/32768K(JAVA /其他)的总提交():12接受提交(S):4字体:宋体宋体格鲁吉亚字体大小:← →问题说明给定一个整数N(0≤N≤10000),你的任务是计算N!输入在一行中,一个N进程的文件的结束。产量对于每个N,输出N!在同一行中。采样输入123样本输出126*/#include#includeint arr[10000];int main(){ int n; while(scanf("%d",&n)!=EOF) { int c=0,s; int i,j; mems..
阅读全文
摘要:/*Problem DescriptionEverybody knows any number can be combined by the prime number.Now, your task is telling me what position of the largest prime factor.The position of prime 2 is 1, prime 3 is 2, and prime 5 is 3, etc.Specially, LPF(1) = 0. InputEach line will contain one integer n(0 #include con
阅读全文
摘要:用到的知识点: 代码如下: /* Input 输入数据包含多个测试实例,每个测试实例占一行,每行的开始是一个整数n(3<=n<=100),它表示多边形的边数(当然也是顶点数),然后是按照逆时针顺序给出的n个顶点的坐标(x1, y1, x2, y2... xn, yn),为了简化问题,这里的所有坐标都
阅读全文
摘要:#include<iostream> using namespace std; int main() { __int64 n,m,i,j,sum; while(cin>>n) { n%=10000; sum=((n*(n+1)/2)*(n*(n+1)/2))%10000; printf("%04I6
阅读全文
摘要:#include using namespace std;int main(int argc, char* argv[]){ double a,b,c; int i,n; while (cin>>n) { for(i=0;i>a>>b>>c; if(a+b>c&&a+c>b&&b+c>a) {cout<<"YES\n";} else {cout<<"NO\n";} } } return 0;}
阅读全文
摘要:#include<iostream> int main() { using namespace std; int y,count; char x; cin>>count; while(count--){ cin>>x>>y; islower(x)?cout<<(96-x+y)<<endl:cout<
阅读全文
摘要:/*2013暑期多校联合训练 - 80 +高校,300 +队伍,10000元奖金,敬请期待?A + B再次时间限制:1000/1000 MS(JAVA /其他)内存限制:32768分之32768K(Java /其他的)总提交(S):11578接受提交的文件:5039问题说明必须有很多A + B HDOJ我们的问题,现在一个新的未来,给你两个十六进制整数,你的任务是计算它们的总和,并打印十六进制太容易?交流吧! 输入输入包含多个测试用例,请结束进程的文件。每个案例下设两个十六进制整数A和B线由空白分隔。A和B的长度小于15。 产量对于每个测试的情况下,打印十六进制的A和B在同一行的总和。 采样输
阅读全文
摘要:/* 问题说明 给你两个号码A和B,如果A等于B,您应打印“YES”,或打印“NO”。 输入 每个测试案例包含A和B两个数字 产量 每一种情况下,如果A等于B,您应打印“YES”,或打印“NO”。 采样输入 1 2 2 2 3 3 4 3 样本输出 NO YES YES NO */ # includ
阅读全文
摘要:/*问题说明 一组正整数的最小公倍数(LCM)是最小的正整数约数集合中的所有号码。 例如,5,7和15的最小公倍数是105。 输入 输入将包括多个问题的实例。输入的第一行中,将包含一个整数, 表示问题的实例的数目。 每个实例都将包含一个单行的形式M N1 N2 N3 ... 纳米其中m是整数的集合和
阅读全文

浙公网安备 33010602011771号