PTA作业
妍zzzxxy
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【7-7 数的划分 】将整数n分成k份,且每份不能为空,任意两个解不能相同(不考虑顺序)。 例如:n=7,k=3,下面三种分法被认为是相同的。 {1,1,5};{1,5,1};{5,1,1};
#include<iostream>#include<cstdio>#include<cstring>using namespace std;int dp[1234][1234];int main(){ int n,k; scanf("%d%d",&n,&k); int i,j; dp[0][0]=1; for(i=1;i<=n;i++) { dp[i][1]=1;原创 2021-12-21 11:57:50 · 1632 阅读 · 0 评论 -
【7-6 二叉树遍历】二叉树的每个结点用一个大写字母表示,现在已知其中序和按层遍历的字符串,求该树的先序遍历字符串。 输入格式: 输入两行,分别表示二叉树的中序遍历和按层遍历的序列
#include<iostream>using namespace std;char a[30],b[30];int n;void f(int L,int R){ int k; if(L>R)return; bool flag=false; for(int i=0;i<=n;i++) { for(int j=L;j<=R;j++) { if(b[i]==a[j])原创 2021-12-21 11:56:39 · 1454 阅读 · 0 评论 -
【7-5 循环日程表】设有N个选手进行循环比赛,其中N=2 M ,要求每名选手要与其他N−1名选手都赛一次,每名选手每天比赛一次,循环赛共进行N−1天,要求每天没有选手轮空。
(https://pintia.cn/problem-sets/1433281645203116032/problems/1437018860810612736)#include<iostream>#include<cmath>using namespace std;int a[1000][1000];void f(int k,int n){ if(n==2) { a[k][1]=k; a[k][2]=k+1; a[k+1][1]=k+1; a[k+1原创 2021-12-21 11:53:29 · 1887 阅读 · 0 评论 -
【7-4 交换实现的全排列 】用交换的分治法实现前m(m<10)个自然数数的全排列。 提示:通过交换实现的全排列不是字典序的全排列。 输入格式: 输入一个数m,代表要用1-m个自然数的全排列。
[用交换的分治法实现前m(m<10)个自然数数的全排列。 提示:通过交换实现的全排列不是字典序的全排列。输入格式:输入一个数m,代表要用1-m个自然数的全排列。输出格式:输出前m个自然数的全排列。(每个数之间用一个空格隔开,每行结束后有一个空格。最后一行数后面有一个空行,即每输出一行后添加一个换行,不考虑是否是最后一行)输入样例:](https://pintia.cn/problem-sets/1433281645203116032/problems/1437018731755806720原创 2021-12-21 11:47:36 · 1409 阅读 · 0 评论 -
【7-3 汉诺(Hanoi)塔问题】古代某寺庙中有一个梵塔,塔内有3个座A、B和C,座A上放着64个大小不等的盘,其中大盘在下,小盘在上。有一个和尚想把这64 个盘从座A搬到座B,但一次只能搬一个盘,
#include <iostream>using namespace std;void hanoi(int n, char a, char b, char c){ if(n==0) return; hanoi(n-1, a, c, b); printf("%c-->%c\n", a, b); hanoi(n-1, c, b, a);}int main(){ int n; cin >> n; hanoi(n, 'a', 'b', 'c'); ret..原创 2021-12-21 11:45:17 · 2185 阅读 · 0 评论 -
【7-2 杨辉三角】求杨辉三角的前n行数据。 输入格式: 输入n(n<10)值。 输出格式: 输出杨辉三角的前n行数据,每个数据占4列。
7-2 杨辉三角#include <iostream>using namespace std;int main(){ int a[100][100] = { 0 }; int i, j, n; //cout << "请输入行数:" << endl; cin >> n; for (i = 0; i < n; i++) { for(j = 0; j <= i; j++) { if (j < 1) a[i][j] =原创 2021-12-21 11:41:14 · 3352 阅读 · 1 评论 -
【7-1 最大子列和问题】给定K个整数组成的序列{ N 1 , N 2 , ..., N K },“连续子列”被定义为{ N i , N i+1 , ...,
C语言:#include<stdio.h>int MaxSubseqSum(int A[],int N ){ int ThisSum, MaxSum; int i; ThisSum = MaxSum = 0; for( i = 0; i <N; i++ ) { ThisSum += A[i]; if( ThisSum > MaxSum ) MaxSum = ThisSum; else if( ThisSu原创 2021-12-21 11:26:24 · 4279 阅读 · 6 评论
分享