摘要:
View Code #include<stdio.h>void mov(char a,char b){ printf("%c->%c\n",a,b);}//将n个盘子从a移到c上,b作为辅助void hanoi(char a,char b,char c,int n){ if(n>0){ hanoi(a,c,b,n-1); mov(a,c); hanoi(b,a,c,n-1); }}int main(){ hanoi('a','b','c',3); return 0;} 阅读全文
摘要:
View Code #include<stdio.h>#include<string.h>const int MAXN=50005;struct ty{ int l,r; int num;};int num[MAXN];ty dat[MAXN*3];int Build(int a,int b,int i){ dat[i].l=a; dat[i].r=b; if(a==b) return dat[i].num=num[a]; int mid=(a+b)>>1; return dat[i].num=Build(a,mid,i<<1)+Build(mi 阅读全文
摘要:
看这个算式: ☆☆☆ + ☆☆☆ = ☆☆☆ 如果每个五角星代表 1 ~ 9 的不同的数字。 这个算式有多少种可能的正确填写方法?View Code #include<stdio.h>#include<stdlib.h>int x[10];int ans;bool Place(int k){ int i=1; while(i<k){ if(x[i]==x[k]) return false; i++; } return true;}bool IsOk(){ return 100*(x[1]+x[4])+10*(x[2]+x[5])+(x[... 阅读全文
摘要:
#include<iostream>#include<algorithm>#include<ctime>#include<cstdlib>using namespace std;void maxHeap(int *a,int n,int i){ int left=i<<1,right=i<<1|1; if(left > n) return; int large=left; if(right <= n && a[right] > a[large]) large=right; if(a[i] 阅读全文