目录
----------------------
题目描述
对于一个 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;
}