- 博客(238)
- 收藏
- 关注
原创 hdu 4247
#include#includeint cmp(const void *a,const void *b){ return *(int *)b-*(int *)a;}int main(){ int op=1,a[4],sum; while(scanf("%d",&a[0])!=-1) { scanf("%d%d%d",&a[1],&a[2],&a[3]); qsort(a
2013-05-06 22:21:35 615
原创 hdu 1978
dp#includeint map[110][110],dp[110][110];int main(){ int t,n,m,i,j,sum,k,p; scanf("%d",&t); while(t--) { scanf("%d%d",&n,&m); for(i=0;i<n;i++) for(j=0;j<m;j++) {
2013-05-06 21:18:43 588
原创 hdu 4224
题意非常蛋疼,读了两个小时才明白一点,还是蒙对的给出抛三个硬币,正反面朝上的次数,根据所得概率能不能用这三枚硬币抛出正反面相等的情况1:如果三枚硬币正面朝上的概率都是50%,则可以达到要求2:若果有硬币的概率大于50%,一定要有概率小于50%的才能抛出后达到50% #includeint main(){ int i,a[3],b[3],c[3
2013-05-06 19:47:15 1277
原创 hdu 2824
当数越来越大时欧拉函数很大,与因子数差距越来越大,所以当n达到一定值时就找不到相等的区间了暴力模拟了前500,30以后都是10 #includeint main(){ int a[31]={0,1,1,2,2,4,5,5,6,6,7,7,7,7,7,7,7,7,8,8,8,8,8,8,9,9,9,9,9,9,10}; int n,t,op=
2013-05-06 19:39:30 777 1
原创 hdu 1794
方格填数 求出每个为0的方格在多少个s*s的中当n==30时达到2000多,和超int #include#include#includeint map[31][31],a[10010];struct op{ int num,count;}p[31][31];struct ed{ int x,y,cnt;}e[1
2013-05-06 10:21:12 896
原创 hdu 1792 A New Change Problem
题意:给定A和B,A和B互质,求最大不能组合数,和不能组合数的个数。基础知识:Gcd(A, B) = 1 → Lcm(A, B) = AB剩余类,把所有整数划分成m个等价类,每个等价类由相互同余的整数组成任何数分成m个剩余类,分别为 mk,mk+1,mk+2,……,mk+(m-1)分别记为{0(mod m)},{1(mod m)}……而n的倍数肯定分布在这m个剩余类
2013-05-06 08:00:31 1229
原创 hdu 1702 ACboy needs your help again!
简单模拟题#include#includeint a[2000];int main(){ int i,j,n,t,num; char s[10],ch[10]; scanf("%d",&t); while(t--) { num=-1; scanf("%d%s",&n,s); j=0; for(i=0;i<n;i++)
2013-05-05 22:24:33 837
原创 hdu 2952 Counting Sheep
简单搜索#includechar map[110][110];int n,m;int dir[4][2]={0,1,1,0,0,-1,-1,0};int judge(int x,int y){ if(x>=0&&x=0&&y<m&&map[x][y]=='#') return 1; return 0;}void dfs(in
2013-05-05 22:06:18 683
原创 hdu 2526 浪漫手机
让人蛋疼的题意每行乐谱的最前面和最后面默认为0 #include#includeint a[120];int main(){ int i,j,k,t,n,c,len; char s[1000],s1[1000]; scanf("%d",&t); while(t--) { scanf("%d",&n); for(i=1;i<=8
2013-05-05 20:39:17 761
原创 hdu 1163 Eddy's digital Roots
直接暴力 #includeint main(){ int i,j,sum,b,n; while(scanf("%d",&n)!=-1&&n>0) { sum=1; for(i=1;i<=n;i++) { sum*=n; while(sum>9)
2013-05-05 19:20:56 515
原创 hdu 2102 A计划
搜索的题就是要细心 #include#include#include#define inf 0x3fffffffusing namespace std;int vis[2][11][11];char map[2][11][11];int n,m,T;int dir[4][2]={0,1,1,0,0,-1,-1,0};stru
2013-05-05 18:13:41 736
原创 hdu 4079 Happy Telephones
英语不好伤不起啊,大半天都弄不懂题意给你一些电话工作的时间断,,再给你一个监视时间段,问能监视到几个电话,只要时间段有重叠就算有监视到 #includestruct op{ int st,ed;}p[10010];int main(){ int i,j,n,m,sum,a,b; while(scanf("%d%d",&n,&m)!
2013-05-05 16:18:20 608
原创 hdu 2682 Tree
最小生成树水题 #include#include#includeint num,n,a[610];int f[610];bool prim[2000010];struct eadge{ int st,end,w;}e[180000];int MIN(int a,int b){ if(a>b)return b
2013-05-05 15:51:51 803
原创 hdu 2579 Dating with girls(2)
广搜,,hash[x][y][step%k]记录x,y位置step%k这种情况走过没有 #include#include#includeusing namespace std;char map[110][110];int n,m,k,hash[110][110][11];int sx,sy,ex,ey;int dir[4][2]={0,1,
2013-05-04 20:13:08 814
原创 hdu 1703 PBD
找规律当大于五个人时每加一个人只要把这个人的想法传出去给其余一人,再从剩下的任何一人知道所有人的想法,每加一个人就加两次费用c[n]=c[n-1]+10(n>=5) #includeint f[5];int main(){ int i,j,n; f[1]=0;f[2]=1;f[3]=3;f[4]=4; for(i=5;i<100;i++) f
2013-05-04 19:00:15 858
原创 hdu 2491 Priest John's Busiest Day
贪心每个婚礼必须参加的时间超过一半 #include#include#includestruct op{ int st,md,ed,mt;}p[100010];int cmp(const void *a,const void *b){ struct op *c,*d; c=(struct op *)a; d=(struct
2013-05-04 13:16:25 685
原创 hdu 1548 A strange lift
#include#includeusing namespace std;#define N 202struct point{ int x,step;};int f[N],st,en,n,a[N];int bfs(){ memset(f,0,sizeof(f)); queueq; point cur,next; int x,y; cu
2013-04-27 23:46:14 584
原创 hdu 1728 逃离迷宫
广搜#include "stdio.h"#include "string.h"#includeusing namespace std;struct team{ int x,y,crow;};char map[101][101];int a[4][2]={1,0,-1,0,0,1,0,-1},flag[110][110];int n,m,p,sx
2013-04-27 23:37:12 877
原创 hdu 1557 权利指数
母函数水过#include#include#define lmax 10000int c1[lmax+1],c2[lmax+1];int main(){ int n,i,j,k,t,a[25],sum,b; scanf("%d",&t); while(t--) { sum=0; scanf("%
2013-04-27 23:31:38 1178
原创 hdu 1596 find the safest road
最短路#include#include#define max 0.0double map[1001][1001],f[1001];int n,m,st,en,mark[1001];void Dijkstra(){ int i,j,k; double min; for(i=1;i<=n;i++) f[i]=map[st][i]; for(i=1;i
2013-04-27 23:22:31 819
原创 hdu 1292 "下沙野骆驼"ACM夏令营
#include__int64 dp[26][26];int main(){ int i,j,n,t; dp[1][1]=1; for(i=2;i<25;i++) { for(j=1;j<i;j++) dp[i][j]=dp[i-1][j-1]+dp[i-1][j]*j; dp[i][i]=1; } scanf("%d",&t); while(t--) {
2013-04-27 23:07:13 1070
原创 hdu 2116 Has the sum exceeded
判断两个数的和是否溢出k=64时单独考虑 # include # include int main(){ int k; __int64 a,b,c,d; while(scanf("%d",&k)!=EOF) { scanf("%I64d%I64d",&a,&b); c=(__int64)(pow(2,k-1)+
2013-04-27 12:51:40 699
原创 hdu 2816 I Love You Too
模拟#includechar str[10][5]={{0,0,0,0,0},{0,0,0,0,0},{'0','A','B','C',0},{'0','D','E','F',0},{'0','G','H','I',0},{'0','J','K','L',0},{'0','M','N','O',0},{'0','P','Q','R','S'},{'0','T','
2013-04-26 23:49:06 955
原创 poj 3164 Command Network
最小树形图,,不熟练啊,写错几个地方无限TLE #include#include#include#define N 101#define inf 0x3fffffffint flag[N],id[N],pre[N],n,m;double ms[N];struct op{ int x,y; double w;}e[N*N];
2013-04-26 17:10:13 619
原创 hdu 3335 Divisibility (最小路径覆盖)
最小路径覆盖,覆盖的点都不选,剩余的点就没有关系可以选上 #include#includebool map[1001][1001],link[1001];int match[1001];int n;__int64 a[1001];int find(int u){ int i; for(i=0;i<n;i++) {
2013-04-25 16:16:51 724
原创 hdu 2121 Ice_cream’s world II
无固定根节点的最小树形图,添加一个人工根节点,人工根节点到每个节点的权值sum>(所有边权值之和),求出结果减去sum,只有人工根节点跟一个节点相连时才会有解,如果结果大于等于sum,则人工节点跟多个节点相连,所以原图是不连通的,所以无解 #include#include#define inf 0x3fffffff#define M 100
2013-04-25 16:11:02 666
原创 hdu 2133 What day is it
处理日期计算天数时,0001年1月1日,是366天,要减去前边算的0年的365天 #includeint days[12]={31,28,31,30,31,30,31,31,30,31,30,31};char s[7][10]={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday
2013-04-25 11:15:56 702
原创 hdu 2266 How Many Equations Can You Find
简单深搜 #include__int64 n,count;int a[15],num;char str[30];void dfs(int op,__int64 sum){ if(op==num&&sum==n) { count++; } if(op==num)return ; __int64 k=0; for(int i=op;i<num;i
2013-04-23 22:51:58 615
原创 hdu 2142 disney
模拟题要的就是细心,忘了更新分数和,wrong了几次 #include#include#includeint n,sum;struct op{ char name[10]; int score; int id;}p[110];int cmp(const void *a,const void *b){ struct op *c
2013-04-23 21:15:59 694
原创 hdu 2122 Ice_cream’s world III
简单最小生成树 #include#include#define inf 0x3fffffffint f[1010],n,map[1010][1010];struct op{ int x,y,w;}p[10100];int find(int a){ if(a!=f[a]) f[a]=find(f[a]); return
2013-04-23 10:37:49 605
原创 hdu 2120 Ice_cream's world I
每加入一条边如果两个顶点的根节点相等则形成环 #includeint f[1010];int find(int a){ if(a!=f[a]) f[a]=find(f[a]); return f[a];}int main(){ int i,j,n,m,x,y,sum; while(scanf("%d%d",&n,&m)!=-1) { s
2013-04-22 22:46:32 570
原创 hdu 2617 Happy 2009
如果一个字母前边的字母没有出现,这个字母可以省去 #include#includechar s[10010];int main(){ int i,h,a,p,y,sum; while(gets(s)) { h=a=p=y=sum=0; for(i=0;s[i];i++) {
2013-04-22 21:37:02 529
原创 hdu 2660 Accepted Necklace
简单dp #include#includeint dp[21][1010];int main(){ int i,j,n,k,vp,v[21],w[21],t,p; scanf("%d",&t); while(t--) { scanf("%d%d",&n,&k); for(i=0;i<n;i++) scanf("%d%d"
2013-04-22 19:51:40 563
原创 hdu 2817 A sequence of numbers
#include#define inf 200907__int64 a[4],n;void solve1(){ __int64 d; d=(a[2]-a[1])%inf; printf("%I64d\n",(a[1]%inf+d*(n-1)%inf)%inf);}void solve2(){ __int64 q,num,t,sum,count; if
2013-04-22 16:01:14 502
原创 hdu 2200 Eddy's AC难题
#include__int64 C[31][31],sum;int main(){ int i,j,n; for(i=1;i<=30;i++) {C[i][i]=1;C[i][0]=1;} C[2][1]=2; for(i=3;i<=30;i++) for(j=1;j<i;j++) C[i][j]=C[i-1][j]+C[i-1][j-1]; w
2013-04-22 14:57:19 504
原创 hdu 2182 Frog
简单dpdp[i][j];跳i次到j可以吃到的虫 #include#includeint dp[110][110],w[110];int main(){ int i,j,k,a,b,n,p,max,t; scanf("%d",&t); while(t--) { scanf("%d%d%d%d",&n,&a,
2013-04-22 11:19:05 545
原创 hdu 2181 哈密顿绕行世界问题
简单深搜 #include#include#includeint map[21][3],b[22],st,num;bool vis[21];int cmp(const void *a,const void *b){ return *(int *)a-*(int *)b;}void dfs(int u,int step){ int
2013-04-22 09:43:14 603
原创 hdu 2159 FATE
二维完全背包 #include#include#define inf 0x3fffffffint dp[101][101];int main(){ int i,j,n,m,k,s,v[101],w[101],p; while(scanf("%d%d%d%d",&n,&m,&k,&s)!=EOF) { memset(dp,0,sizeof(dp));
2013-04-21 22:23:22 509
原创 hdu 2151 Worm
dp[i][j]:第i分钟走到j棵树上的走方案数dp[i][j]+=dp[i-1][j+1]+dp[i-1][j-1] #include#includeint dp[101][101];int main(){ int i,j,n,m,p,t; while(scanf("%d%d%d%d",&n,&p,&m,&t)!=EOF) { memset(dp,0,size
2013-04-21 21:28:14 427
原创 hdu 2149 Public Sale
#includeint main(){ int n,m,a,i; while(scanf("%d%d",&m,&n)!=EOF) { a=m%(n+1); if(a==0) puts("none"); else { printf("%d",a); if(m<n) { for(i=a+1;i<=n;i
2013-04-21 20:53:33 473
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人