|
2013年11月8日
摘要:
#include #include #include #include using namespace std;int m;struct node{ char name[100]; int time,acno;}p[100];bool cmp(node a,node b){ if(a.acno==b.acno&&a.time==b.time) return (strcmp(b.name,a.name)>0); else if(a.acno==b.acno) return a.timeb.acno;}int change(char tmp[]){ int sum,... 阅读全文
摘要:
刚开始看这题,感觉是DP什么的 ,后来我发现,只要找到中最小值,就可以啦,哈哈。假如用x1把0-100分割。则0-x1-100 ===> x1^2+(100-x1)^2跟0-100 ===> 100^2比较,可以很容易的比较出来,大家可以用构造面积法证明一定是100^2比较大,无论将其分成多少段。#include int main(){ int n,m,min,t,tmp,i; scanf("%d",&t); while(t--){ scanf("%d%d",&n,&m); min=1000000; for(i=0;i 阅读全文
2013年11月7日
摘要:
注意是两位数,必须输出01,02,03,这种#include int main(){ int begin,end; int i; int res[110]; int cnt; int sign; while(~scanf("%d%d",&begin,&sign)){ if(begin==0&&sign==0) break; end=(begin+1)*100-1; begin*=100; cnt=0; for(i=begin;i<=end;++i){ if(i%sig... 阅读全文
摘要:
#include int main(){ __int64 h[100],l[100]; int i,j; int n; while(~scanf("%d",&n)&&n!=-1){ h[0]=1; l[0]=0; for(i=1;i<=n;++i){ h[i]=h[i-1]*3+l[i-1]*2; l[i]=h[i-1]*1+l[i-1]*1; } printf("%I64d, %I64d\n",h[n],l[n]); } return 0;} 阅读全文
摘要:
#include int sum1(int n,int sign){ int sum=0; while(n){ sum+=n%sign; n/=sign; } return sum;}int main(){ int n; while(~scanf("%d",&n)&&n){ //printf("10=%d,16=%d,2=%d\n",sum1(n,10),sum1(n,16),sum1(n,2)); if( sum1(n,10)==sum1(n,16) && sum1(n,16)==sum1(n,12)... 阅读全文
摘要:
这题还是递推,只能在后面加E,O,F三个字母,若在f(n-1)后加,E,F,则新增了2*f(n-1)个序列若加 O ,则只能在f(n-1)种尾部为E,F的序列后加,回到上一种情况,即f(n-2)*2把上面两种情况合起来就变成了 f(n)=2*f(n-1)+2*f(n-2)。#include int main(){ __int64 num[40]; int i,n; num[1]=3; num[2]=8; for(i=3;i<40;++i){ num[i]=2*(num[i-1]+num[i-2]); } while(~scanf("%d"... 阅读全文
摘要:
#include #include int main(){ int cnt,i,j,k; char str[1000+100],tmp[1000+10]; int strl,tmpl; while(~scanf("%s",str)){ if(!strcmp(str,"#")) break; scanf("%s",tmp); cnt=0; strl=strlen(str); tmpl=strlen(tmp); for(i=0;i=strl) break; if(s... 阅读全文
摘要:
老题目了#include int main(){ int gird[110][110]; int i,j,max; int c,n; scanf("%d",&c); while(c--){ scanf("%d",&n); for(i=0;i=0;--i){ for(j=0;jgird[i+1][j+1]?gird[i+1][j]:gird[i+1][j+1] ); } } printf("%d\n",gird[0][0]); } return 0;} 阅读全文
摘要:
f(n)=f(n-1)+2*f(n-2)#include int main(){ __int64 num[55]; int i,n; num[1]=3;num[2]=6;num[3]=6; for(i=4;i<=50;++i){ num[i]=num[i-2]*2+num[i-1]; } while(~scanf("%d",&n)){ printf("%I64d\n",num[n]); } return 0;} 阅读全文
摘要:
二进制转换#include void change(int n){ int num[100]; int cnt=0; while(n){ num[cnt]=n%2; n/=2; cnt++; } cnt--; while(cnt>=0){ printf("%d",num[cnt]); cnt--; } printf("\n"); return ;}int main(){ int n; while(~scanf("%d",&n)){ change(... 阅读全文
|