
ACM
slege
毕业两年了,依旧菜鸟一枚。
展开
-
hdu 1174 爆头
点击打开链接给你站在三维空间的警察和土匪的身高,头部半径,坐标。还有警察枪的方向向量判断是否可以爆头补充知识:差乘向量a=(x1,y1,z1) b=(x2,y2,z2)a x(差乘) b=( y1z2 - z1y2 , z1x2 - x1z2 , x1y2-y1x2)点到直线的距离可以用等面积做B到直线AC的距离可以用原创 2012-08-03 17:19:09 · 1251 阅读 · 0 评论 -
hdu 1418 抱歉 (数学)
点击打开链接这是一道纯模版的几何欧拉公式,它是由V+F-E=X(P),V是多面体P的顶点个数,F是多面体P的面数,E是多面体P的棱的条数,X(P)是多面体P的欧拉示性数。 如果P可以同胚于一个球面(可以通俗地理解为能吹胀而绷在一个球面上),那么X(P)=2,如果P同胚于一个接有h个环柄的球面,那么X(P)=2-2h。 X(P)叫做P的欧拉示性数,是拓原创 2012-08-03 18:19:24 · 595 阅读 · 0 评论 -
hdu 1395 2^x mod n = 1
点击打开链接显然没有解的时候是n==1||n%2==0做法要利用这样几个定理:第一个是a^phi(m)%m=1这个等式在m和a互质的时候一定成立在这个题目中,因为a=2所以m与a不互质,除非m为偶数当然m=1的时候需要特殊处理下,这些都是小问题。 现在这个问题明了了,即在m为奇数(大于1)的时候一定有解。那么就有人原创 2012-08-03 18:20:56 · 965 阅读 · 0 评论 -
zzuli 1254 矩阵相乘
#include#includeint main(){ int m,n,k,i,j,t,x; int a[100][100],b[100][100],c[100][100]; scanf("%d",&t); while(scanf("%d %d %d",&m,&n,&k)!=EOF) { for(i=0;i<m;i++) for(j=0;j<n;j++) scan原创 2012-08-06 16:10:59 · 598 阅读 · 0 评论 -
hdu 1205 吃糖果(水)
点击打开链接#includeint main(){ int T,s,max,i,n,t; scanf("%d",&T); while(T--) { max=s=0; scanf("%d",&n); for(i=0;i<n;i++) { scanf("%d",&t); if(s<=2000000) s+=t; if(t>max)原创 2012-08-06 16:11:12 · 1320 阅读 · 1 评论 -
hdu 2503 a/b + c/d(水)
点击打开链接#includeint main(){ int s,s1,t,i,temp,k,k1,a,b,c,d; scanf("%d/n",&t); while(t--) { scanf("%d%d%d%d",&a,&b,&c,&d); s=a*d+b*c; k=b*d; i=2; t原创 2012-08-06 16:11:23 · 2440 阅读 · 0 评论 -
HDU 2524 矩形A + B(矩阵)
点击打开链接分析:应该是简单题一个吧。用矩阵来分析一下题目。设一矩阵d[i,j],d[i,j]表示为网格grid[i,j]中,所有矩形含有第[i,j]此格的总数。d的其中一些数据为: 1234112原创 2012-08-06 16:11:37 · 1536 阅读 · 0 评论 -
hdu 2028 Lowest Common Multiple Plus (n个数的最大公倍数)
点击打开链接#include int slyar(int x,int y){ while(x>y?(x%=y):(y%=x)); return x+y;}int main(){ int i,n,a[100]; __int64 sum; while(scanf("%d",&n)!=EOF) { for(i=0原创 2012-08-06 16:12:01 · 1063 阅读 · 0 评论 -
hdu 2030 汉字统计 (水)
点击打开链接注意汉字的机内码小于0,并且一个汉字占两个字节#include#include#includeint main(){ int i,n,num,j; char a[10000]; scanf("%d",&n); getchar(); for(j=1;j<=n;j++) { gets(a);原创 2012-08-06 16:12:10 · 707 阅读 · 0 评论 -
hdu 2036 改革春风吹满地 (水)
点击打开链接利用多边形(n边形)面积计算公式:S=0.5 * ( (x0*y1-x1*y0) + (x1*y2-x2*y1) + ... + (xn*y0-x0*yn) ),其中点(x0,y0), (x1, y1), ... , (xn,,yn)为多边形上按逆时针顺序的顶点((x0,y0)与(xn,yn)为同一点)。 #include#include#includ原创 2012-08-06 16:12:19 · 3138 阅读 · 0 评论 -
hdu2734 Quicksum (水)
点击打开链接当是回车时,认为value是0,就没进行加,但,计数cnt要++;导致出错!!!#include#includeint main(){ char str[1111]; int sum,i,cnt; while(gets(str),str[0]!='#') { sum=0;cnt=1; for(i=0;str[i];i++) if(str[i]原创 2012-08-06 16:12:45 · 618 阅读 · 0 评论 -
hdu 2521 反素数 (水)
点击打开链接题目具有迷惑性,第一句的反素素与题目没关系!题目意思是求,一个区间中的最大素数#includeint main(){ int i,j,n,m,max,t,tt,count[5555]; count[0]=0;count[1]=1;count[2]=2;count[3]=2; for(i=4;i<=5001;i++) { count[i]=原创 2012-08-06 16:12:54 · 1042 阅读 · 0 评论 -
hdu 2502 月之数(水)
点击打开链接我推了很久,说一下我的想法,不知可不可行,我是这样想的,递推的话首先是去找F(N)与F(N-1)的关系,因为第一位只可能是一(从左往右看)可以先得到F(N)=F(N-1)+.........当第二位是1 的时候,即将F(N)可视为1与F(N-1)结合,对F(N-1)存在合法组合数(比如3的合法组合为100 101 110 111,即2^(3-1)种,而不是F(N-1) 的值原创 2012-08-06 16:11:46 · 1512 阅读 · 0 评论 -
hdu 2113 Secret Number (水)
点击打开链接#includeint main(){ int i,sum,n; int flag=0; while(scanf("%d",&n)!=EOF) { sum=0; while(n>0) { i=n%10; if(i%2==0)sum+=i;原创 2012-08-06 16:12:28 · 938 阅读 · 0 评论 -
hdu 2265 Encoding The Diary (水)
点击打开链接#include#includeint main(){ char str[222],str_[222]; int i,k; while(gets(str))//gets读不进回车,scanf读不进空格 { k=1;str_[0]=' '; for(i=0;str[i];i++) if(str[i]!=' ') str_[k++]=str[原创 2012-08-06 16:12:36 · 697 阅读 · 0 评论 -
HDU 1031 Design T-Shirt
#include"stdio.h"#include"string.h"#include"stdlib.h"struct node{ double sum; int num;}aa[1000];int c(const void*a,const void*b){ return *(int*)b-*(int*)a;}int cmp(const void*a,const void*原创 2012-07-27 07:40:58 · 455 阅读 · 0 评论 -
hdu 3876 A pupil’s problem(简单数学题)
点击打开链接ps:解二次方程,wrong了一次,x1和x2木有判断大小!!! (1)若b^2-4ac (2)若b^2-4ac=0,有两个相等实根: x1=x2=-b/(2a); (3)若b^2-4ac>0,有两个不等实根: x1=[-b+√(b^2-4ac)]/(2a) ,x2=[-b-√(b^2-4ac)]/(2a) 。#include#in原创 2012-07-30 14:22:50 · 1161 阅读 · 0 评论 -
poj 1005 I Think I Need a Houseboat
点击打开链接大体意思:半圆表示一块面积可扩展的区域,开始时,面积是0,在(0,0)处开始以每年50平方米的速度同样呈半圆扩展,输入一个正整数N,然后输入N对坐标,对于每一对坐标值:求出面积扩展到该点的年数,坐标值单位为米。#include"stdio.h"#include"math.h"#define PI 3.1415926int main(){ int t,i; _原创 2012-07-31 09:43:34 · 540 阅读 · 0 评论 -
poj 2739 Sum of Consecutive Prime Numbers (最大连续素数和)
点击打开链接打表+求和..#include"stdio.h"#include"math.h"int prime[10010];int count;void fun(){ count=0; int i,j,k; for(i=2;i<=10000;i++) { k=(int)sqrt(i); int flag=1原创 2012-07-30 19:07:58 · 868 阅读 · 0 评论 -
poj 1005 Biorhythms (孙子定理,求余定理)
大致题意:这题在POJ上有译文(原文右上角) 解题思路:中国剩余定理,本题难点不在编程,而是分析题目并转化为数学公式要引入本题解法,先来看一个故事 “韩信点兵”: 传说西汉大将韩信,由于比较年轻,开始他的部下对他不很佩服。有一次阅兵时,韩信要求士兵分三路纵队,结果末尾多2人,改成五路纵队,结果末尾多3人,再改成七路纵队,结果又余下2人,后来下级军官向他报告共有士兵原创 2012-08-01 10:36:35 · 930 阅读 · 0 评论 -
hdu 1286找新朋友 (简单数学题)
点击打开链接第一次暴力求解,tle#include"stdio.h"#include"string.h"int fun(int x,int y){ while(x>y?(x%=y):(y%=x)); return x+y;}int main(){ int T,n,i,j,ans,a[32768]; scanf("%d",&T); while(T--) {原创 2012-08-01 20:25:04 · 574 阅读 · 0 评论 -
hdu 2740 Root of the Problem (水)
点击打开链接题目意思很简单,给你一个b和一个n,找到一个a使a^n最接近b 先求出a=b^(1/n),然后再它附近找,#include#includevoid main(){ float B,N,A1,A2,A3,A; scanf("%f%f",&B,&N); while(B!=0&&N!=0) { A1=pow(B,1/N);原创 2012-09-02 09:15:58 · 671 阅读 · 0 评论 -
hdu3079 Vowel Counting (strlwr(将字符串中的字母转换为小写);strupr(转换为大写))
点击打开链接题目意思:将元音字母转换为大写,其他为小写string:strlwr(将字符串中的字母转换为小写);strupr(转换为大写)#include#includeint main(){ int t,i; char str[55]; scanf("%d",&t); getchar(); while(t--) { ge原创 2012-09-02 09:20:50 · 1320 阅读 · 0 评论 -
hdu 3809 Decrypt coordinate (水。。)
点击打开链接PS:题目意思:让你求解方程:x1=x-sqrt(y);y1=y-sqrt(x);已知x1,y1,要求x与y,精确到小数点后6位。解题思路;迭代法,式子是这样推的:x=x1+sqrt(y);y=y1+sqrt(x);然后一开始把y=y1,x=x1赋值上去迭代,因为x>x1,y>y1;所以这样迭代上去,值会累加。可是为什么累加后值不会超过真实的原创 2012-09-02 09:26:00 · 723 阅读 · 1 评论 -
hdu 2504 又见GCD (水)
点击打开链接题目意思:给你两个数a和b,找到一个最小的数c,使a和c的最大公约数为b#includeint gcd(int x,int y)//求最大公约数{ while(x>y?(x%=y):(y%=x));//这里的分号不要丢了 return x+y;}int main(){ int c,a,b,t; scanf("%d",&t); whil原创 2012-09-02 09:17:37 · 633 阅读 · 0 评论 -
hdu 3105 Fred's Lotto Tickets (水)
点击打开链接PS:题目意思是判断输入的数字是否将1-49全包含进去,如果说输出Yes 否则 No#include#includeint main(){ int i,j,n,a[111][6],aa[50]; while(scanf("%d",&n),n!=0) { for(i=1;i<50;i++) aa[i]=i;aa[0]=0; f原创 2012-09-02 09:22:56 · 615 阅读 · 0 评论 -
hdu 1877 又一版 A+B (水)
点击打开链接PS:wrong了一次,没注意0+0的情况,本题为简单的进制转换#include#include int main() { int a,b,m,k; char s[222]; while(scanf("%d%d%d",&m,&a,&b),m!=0) { a+=b;k=0; if(a==0)原创 2012-09-02 09:24:47 · 682 阅读 · 0 评论 -
hdu 2560 Buildings (水)
点击打开链接水题!找n*m数组中,值为1的个数!#includeint main(){ int i,j,n,m,sum,t,a; scanf("%d",&t); while(t--) { scanf("%d%d",&n,&m); sum=0; for(i=0;i<n;i++) for(j=0;j<m;j++) { sc原创 2012-09-02 09:16:59 · 665 阅读 · 0 评论 -
hdu 1248 寒冰王座 (水)
点击打开链接题目意思:买东西,有三种价格的商品150 200 350,商店不找零,所以多余的钱给商店,求给商店的最少的钱 暴力求解!!#includeint main(){ int t,a,b,c,n,i,j,k,max,temp; scanf("%d",&t); while(t--) { scanf("%d",&n);max=0;原创 2012-09-02 09:18:03 · 552 阅读 · 0 评论 -
hdu 3817 Triangle (水)
点击打开链接题目意思:判断一个三角形是钝角还是锐角还是直角#includeint main(){ int n,a,b,c,k=1; scanf("%d",&n); while(n--) { scanf("%d %d %d",&a,&b,&c); if(a*a + b*b == c*c || a*a +原创 2012-09-02 09:19:02 · 608 阅读 · 0 评论 -
hdu 1860 统计字符 (水)
点击打开链接题目意思:输入两个字符串,输出第一个字符串中各个字符的个数!,注意空格也算,还有相同字符的情况下,要重复输出!#include#include#define M 88int main(){ char str[M],s[6]; int cnt[6],i,j; while(gets(s),s[0]!='#') { gets(str);原创 2012-09-02 09:21:35 · 599 阅读 · 0 评论 -
hdu 2575 Count Problem (水)
点击打开链接PS:题目很简单,找到规律然后用数组储存,本体笔下误错了一次!#include#include int main() { int t,n,a[10]={0,1,2,2,4,4,6,6,10,10}; scanf("%d",&t); while(t--) { scanf("%d",&n);原创 2012-09-02 09:22:32 · 798 阅读 · 0 评论 -
hdu2123 An easy problem (水。)
点击打开链接#includeint main(){ int i,j,n,t; scanf("%d",&t); while(t--) { scanf("%d",&n); for(i=1;i<=n;i++) { for(j=1;j<=n;j++) { printf("%d",i*j); if(j!=n)printf(原创 2012-09-02 09:25:37 · 646 阅读 · 0 评论 -
hdu 2078 复习时间 (水。。)
点击打开链接#includeint main(){ int t,n,m,i,min,a; scanf("%d",&t); while(t--) { scanf("%d%d",&n,&m); min=100; for(i=0;i<n;i++) { scanf("%d",&a); if(a<min)min=a; } p原创 2012-09-02 09:26:29 · 531 阅读 · 0 评论 -
hdu 3782 xxx定律 (水)
点击打开链接#includeint main(){ int n,count; while(scanf("%d",&n)!=EOF&&n!=0) { count=0; while(n>1) { if(n%2==0) n/=2; else n=(3*n+1)/2; count++; } printf("%d\n",count); } re原创 2012-10-14 17:37:20 · 562 阅读 · 0 评论 -
hdu3783 ZOJ (水)
点击打开链接ps:变一下思路#include int main() { int a,b,c,i; char str[111],ch[3]; while(gets(str)&&str[0]!='E') { a=b=c=0; ch[0]='Z';ch[1]='O';ch[2]='J'; for(i=0;str[i原创 2012-10-14 17:37:10 · 535 阅读 · 0 评论 -
hdu 2103 Family planning (水)
点击打开链接#include "stdio.h"#include "math.h"int main(){ int t; int n,m; int count; int num; int flag; int i; double sum; scanf("%d",&t); while(t--) { count=0; flag=0; sum=0; sc原创 2012-10-14 17:37:28 · 549 阅读 · 0 评论 -
hdu 1720 A+B Coming (进制转换)
点击打开链接ps:输入16进制的方法#include"stdio.h" int main() { int a,b; while(scanf("%x%x",&a,&b)!=EOF) printf("%d\n",a+b); return 0; }原创 2012-10-14 17:37:37 · 516 阅读 · 0 评论 -
hdu 1017 A Mathematical Curiosity (水。。)
点击打开链接题目意思描述不清。。。1)第一个数字是blocks的个数,但注意后面不用输出换行符(输入样例是有个空白行的,莫名其妙)。2)每个block都以0 0结束,然后重新从Case 1开始输出。3)两个相邻的block之间输出空行,最后一块后面不用#include "stdio.h"#include "string.h"int main(){ i原创 2012-10-14 17:39:03 · 483 阅读 · 0 评论 -
hdu 1871 无题 (水。。)
点击打开链接注意一点:当一个小组选择好一个旅馆时,此旅馆的房间数要对应减去小组人数。。。#include"stdio.h"#include"stdlib.h"struct fun{ int num,count,price;}a[111];int cmp(const void*a,const void *b){ struct fun *c,*d; c=(struct原创 2012-10-14 17:39:10 · 587 阅读 · 0 评论