摘要:
#define maxNodes 15 void createCSTree_Degree(CSTree &T, DataType e[], int degree[], int n) { //e层序序列,degree结点的度,n结点的个数 CSNode *pointer = new CSNode[maxNodes]; int i, j, d, k=0; for... 阅读全文
摘要:
题目描述小朋友排成一排,老师给他们分苹果。小朋友从左到右标号1..N。有M个老师,每次第i个老师会给第Li个到第Ri个,一共Ri-Li+1个小朋友每人发Ci个苹果。最后老师想知道每个小朋友有多少苹果。 数据规模和约定100%的数据,N、M≤100 000,1≤Li≤Ri≤N,0≤Ci≤100。 输入 阅读全文
摘要:
题目描述 题目描述 题目描述 给定一个百分制成绩T,将其划分为如下五个等级之一: 90~100为A,80~89为B,70~79为C,60~69为D,0~59为E 现有若干百分制成绩(成绩个数不超过1000个),请你统计五个等级段的人数,并找出人数最多的那个等级段,按照从大到小的顺序输出该段中所有人成 阅读全文
摘要:
题目描述 以前有个孩子,他分分钟都在碎碎念。不过,他的念头之间是有因果关系的。他会在本子里记录每一个念头,并用箭头画出这个念头的来源于之前的哪一个念头。翻开这个本子,你一定会被互相穿梭的箭头给搅晕,现在他希望你用程序计算出这些念头中最长的一条因果链。 将念头从1到n编号,念头i来源于念头from[i 阅读全文
摘要:
题目描述 检查一个如下的6 x 6的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行、每列有且只有一个,每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子。 上面的布局可以用序列2 4 6 1 3 5来描述,第i个数字表示在第i行的相应位置有一个棋子,如下: 行号 1 2 3 4 5 6 列号 2 4 6 1 3 5 这只是跳棋放置的一个解。请编一个程序找出所有跳棋放置的解。并把它们... 阅读全文
摘要:
推导过程中假定m[2]=1是最巧妙的设计 #include #include using namespace std; //catalan int main(void) { int n,m[100]; cin >> n; for(int i=2;i<=n;i++) m[i]=0; m[2]=1; for(int i=3;i<=n;i++) { ... 阅读全文
摘要:
#include #include using namespace std; void move(char c1,char c2) { cout > n; hanoi('a','b','c',n); return 0; } 阅读全文
摘要:
题目描述棋盘上A点有一个过河卒,需要走到目标B点。卒行走的规则:可以向下、或者向右。同时在棋盘上C点有一个对方的马,该马所在的点和所有跳跃一步可达的点称为对方马的控制点。因此称之为“马拦过河卒”。 棋盘用坐标表示,A点(0, 0)、B点(n, m)(n, m为不超过20的整数),同样马的位置坐标是需 阅读全文
摘要:
#include #include using namespace std; int main(void) { int n; cin >> n; int a[100],b[100]; a[1]=1,b[1]=9; for(int i=2;i<=n;i++) { if(i!=n) { a[i]=... 阅读全文