X-man

导航

2013年5月29日 #

hdu 1405 The Last Practice 输出格式需注意

摘要: #include<stdio.h>#include<string.h>#include<vector>#define N 65536using namespace std;int prime[N];bool visit[N];struct node{ int x,y;} cpt;vector<node>v;int num=0;int prim(){ memset(visit,true,sizeof(visit)); for(int i=2; i<=N; i++) { if(visit[i]==true) { num++;... 阅读全文

posted @ 2013-05-29 21:16 雨钝风轻 阅读(155) 评论(0) 推荐(0) 编辑

hdu 1703 PBD

摘要: 题解: 递归的思想: n>4后,若在n的基础上再加入一个人,则可将看作: 该人与第一个人交换信息后(+1),第一个人把该人和自己的信息传达给 n-2个人f(n-1),然后该人只需与其他任何一人交换信息即可(+1)#include<stdio.h>int main(){ int n; while(scanf("%d",&n)!=EOF&&n!=0) { if(n<=4) switch(n) { case 1:printf("0\n");break; case 2:printf("5\... 阅读全文

posted @ 2013-05-29 19:59 雨钝风轻 阅读(181) 评论(0) 推荐(0) 编辑

hdu 4506 小明系列故事——师兄帮帮忙

摘要: #include<stdio.h>#include<string.h>#define mod 1000000007int a[10100];int b[10100];int multy(int q,int n){ int base=q; int ret =1; while(n>0) { if(n&1)ret=(long long)ret*base%mod; n>>=1; base=(long long)base*base%mod; } return ret;}int main(){ int _case; ... 阅读全文

posted @ 2013-05-29 17:42 雨钝风轻 阅读(219) 评论(0) 推荐(0) 编辑

hdu 2095 find your present (2)(^的有趣应用)

摘要: #include<stdio.h>int main(){ int n; int tmp,x; while(scanf("%d",&n)!=EOF&&n!=0) { tmp=0; for(int i=0;i<n;i++) { scanf("%d",&x); tmp^=x; //printf("#%d\n",tmp); } printf("%d\n",tmp); } return 0;} 阅读全文

posted @ 2013-05-29 16:25 雨钝风轻 阅读(173) 评论(0) 推荐(0) 编辑

hdu 2178 猜数字

摘要: #include<stdio.h>int multy(int n){ int base=2; int ret=1; while(n>0) { if(n&1)ret=ret*base; n>>=1; base=base*base; } return ret;}int main(){ int _case,n; scanf("%d",&_case); while(_case--) { scanf("%d",&n); printf("%d\n",multy(n)-1); ... 阅读全文

posted @ 2013-05-29 15:55 雨钝风轻 阅读(218) 评论(0) 推荐(0) 编辑

hdu 1719 Friend

摘要: 题意: 1).1和2是朋友数。 2).如果a和b是朋友数,那么a+b+ab也是朋友数。 3).当且仅当满足(1)或(2)的情形才能判定X是朋友数。(0<=X<=2^30)题解: 观察任意x+1=c+d+cd+1=(c+1)*(d+1) 原始的朋友数只有1,2;c+1,d+1一定为2或3的倍数#include<stdio.h>int main(){ int n; while(scanf("%d",&n)!=EOF) { if(n==0) { printf("NO!\n"); cont... 阅读全文

posted @ 2013-05-29 15:44 雨钝风轻 阅读(177) 评论(0) 推荐(0) 编辑

hdu 2718 A sequence of numbers

摘要: 题意: 给出a,b,c,k,四个数;由 a,b,c构成一个非递减的等差数列或等比数列;求数列的第k个值; 其中等比数列需要用到快速幂的算法;#include<stdio.h>#define mod 200907long long multy(long long q,long long n)//快速幂运算{ long long cnt=n; long long base=q; long long ret=1; while(cnt>0) { if(cnt&1) ret=ret*base%mod; cnt=c... 阅读全文

posted @ 2013-05-29 15:08 雨钝风轻 阅读(218) 评论(0) 推荐(0) 编辑