算法训练 4-1打印下述图形   时间限制:1.0s   内存限制:256.0MB 问题描述 使用循环结构打印下述图形,打印行数n由用户输入.打印空格时使用"%s"格式,向printf函数传递只包含一个或多个空格的字符串" ",下同. 样例输入 一个满足题目要求的输入范例.例: 5 样例输出 与上面的样例输入对应的输出.例: 数据规模和约定 输入数据中每一个数的范围. 例:0<n<20.   题目解析: 本道题共两种思路,由于 n 的范围很小(0 &l…
问题描述 相信经过这个学期的编程训练,大家对于字符串的操作已经掌握的相当熟练了.今天,徐老师想测试一下大家对于字符串操作的掌握情况.徐老师自己定义了1,,,,5这5个参数分别指代不同的5种字符串操作,你需要根据传入的参数,按照徐老师的规定,对输入字符串进行格式转化. 徐老师指定的操作如下: 表示全部转化为大写字母输出,如abC 变成 ABC 表示全部转换为小写字母输出,如abC变成abc 表示将字符串整个逆序输出,如 abc 变成 cba 表示将字符串中对应的大写字母转换为小写字母,而将其中的小…
记: 本题目考的是最小生成数,可使用Kruskal算法 第一次,20分 原因:使用动态数组,有概率报运行错误(大雾= =) 第二次,100分 原因:改用静态数组,一次过 示例代码: #include <stdio.h> #include <stdlib.h> #define INF 99999999 typedef struct node node_t; typedef struct node { int S; int E; int L; }node; node e[]; int…
记: 一开始没接触过关于最短距离的算法,便开始翻阅关于图的知识, 得知关于最短距离的算法有Dijkstra算法(堆优化暂未看懂),Bellman-Ford算法,Floyd算法,SPFA算法. 由于数据输入中存在负边,故可使用的有Dijkstra算法堆优化以及SPFA队列优化, 于是在网上找模版,却报出了运行错误. 也没看出问题,故翻阅他人笔记 其中一篇关于SPFA详解的blog: http://blog.csdn.net/muxidreamtohit/article/details/789429…
这个题实际上思路是比较简单的,但是需要注意细节问题. 思路:读入数组之后进行排序,然后再求交.并.补集. 首先排序:(使用的是冒泡排序) #include<iostream> using namespace std; ]; ]; ]; ; ; ; void swap(int *a,int *b) { int temp = *a; *a = *b; *b = temp; } void sort(int a[],int n) { ; i < n; i++) { ; j < n-i; j…
这个题目就是求质数的乘积,在加一个模,思路比较简单,直接上代码: #include<iostream> using namespace std; bool isPrime(int a) { ; ; i < a; i++) { ) { flag = ; return false; } } ) { // cout<<a<<" "; return true; } } int main() { long n; ;//当前的数字 ;//记录有多少个质数…
问题描述 给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个. 输入格式 第一行包含一个数n,表示序列长度. 第二行包含n个正整数,表示给定的序列. 第三个包含一个正整数m,表示询问个数. 接下来m行,每行三个数l,r,K,表示询问序列从左往右第l个数到第r个数中,从大往小第K大的数是哪个.序列元素从1开始标号. 输出格式 总共输出m行,每行一个数,表示询问的答案. 样例输入 5 1 2 3 4 5 2 1 5 2 2 3 2 样例输出 4 2 数据规模与约定 对于30%的数据,n…
问题描述 输入A,B. 输出A+B. 输入格式 输入包含两个整数A,B,用一个空格分隔. 输出格式 输出一个整数,表示A+B的值. 样例输入 样例输出 数据规模和约定 -,,,<=A,B<=,,,. AC代码: #include <stdio.h> int main(void) { int a,b; scanf("%d %d",&a,&b); printf("%d",a+b); ; }…
问题描述 输入10个整数组成的序列,要求对其进行升序排序,并去掉重复元素. 输入格式 10个整数. 输出格式 多行输出,每行一个元素. 样例输入 样例输出 解题思路: 若输入的数字存在数组中,剔除,否则存储 按从小到大的顺序排序,并输出 AC代码: #include <stdio.h> #define MAX 10 int main(void) { , j = , k = ; ]; ; k < MAX ; k ++) { scanf("%d",&arr[i++…
问题描述 从一个大小为n的整数集中选取一些元素,使得它们的和等于给定的值T.每个元素限选一次,不能一个都不选. 输入格式 第一行一个正整数n,表示整数集内元素的个数. 第二行n个整数,用空格隔开. 第三行一个整数T,表示要达到的和. 输出格式 输出有若干行,每行输出一组解,即所选取的数字,按照输入中的顺序排列. 若有多组解,优先输出不包含第n个整数的:若都包含或都不包含,优先输出不包含第n-1个整数的,依次类推. 最后一行输出总方案数. 样例输入 - - - 样例输出 - - - - 数据规模和…