目录
----------------------
题目描述
对于一个 nn 个顶点的凸多边形,它的任何三条对角线都不会交于一点。请求出图形中对角线交点的个数。
例如,66 边形:
输入格式
输入只有一行一个整数 nn,代表边数。
输出格式
输出一行一个整数代表答案。
输入输出样例
输入 #1复制
3
输出 #1复制
0
输入 #2复制
6
输出 #2复制
15
说明/提示
数据规模与约定
- 对于 50 \%50% 的数据,保证 3 \leq n \leq 1003≤n≤100。
- 对于 100 \%100% 的数据,保证 3 \leq n \leq 10^53≤n≤105
# include <bits/stdc++.h>//# include <math.h> int main() { unsigned long long n=0; using namespace std; unsigned long long m=0; cin>>n; m=n*(n-1)/2*(n-2)/3*(n-3)/4; cout<<m; return 0; }
--------------------------------------------------------------------------------------------------------------------------------
题目描述
给出一棵二叉树的中序与后序排列。求出它的先序排列。(约定树结点用不同的大写字母表示,且二叉树的节点个数 \le 8≤8)。
输入格式
共两行,均为大写字母组成的字符串,表示一棵二叉树的中序与后序排列。
输出格式
共一行一个字符串,表示一棵二叉树的先序。
输入输出样例
输入 #1复制
BADC
BDCA
输出 #1复制
ABCD
说明/提示
【题目来源】
NOIP 2001 普及组第三题
# include <bits/stdc++.h> using namespace std; void stdlb (string a,string b) { if(a.size()>0) { char c=b[b.length()-1]; cout<<c; int k=a.find(c); stdlb(a.substr(0,k),b.substr(0,k)); stdlb(a.substr(k+1),b.substr(k,b.length()-k-1)); }} int main() { string a; cin>>a; string b; cin>>b; stdlb(a,b); return 0; }