2023年c语言程序设计大赛

7-1 这是一道送分题

为了让更多的同学参与程序设计中来,这里给同学们一个送分题,让各位感受一下程序设计的魅力,并祝贺各位同学在本次比赛中取得好成绩。

注:各位同学只需将输入样例里的代码复制到右侧编译器,然后直接提交即可。

输入格式:

无。

输出格式:

无。

输入样例:

#include<bits/stdc++.h>
using namespace std;
int main(){int i,j,k,l,m;char c='/*';cout<<endl;for (i=1;i<=3;i++){ for (j=1;j<=32-2*i;j++)cout<<" ";for (k=1;k<=4*i+1;k++)cout<<c;for (l=1;l<=13-4*i;l++)cout<<" ";for (m=1;m<=4*i+1;m++)cout<<c;cout<<endl;
}for (i=1;i<=3;i++){for (j=1;j<=24+1;j++)cout<<" ";for (k=1;k<=29;k++)cout<<c;cout<<endl;}for (i=7;i>=1;i--){ for (j=1;j<=40-2*i;j++)cout<<" ";for (k=1;k<=4*i-1;k++)cout<<c;cout<<endl;}for (i=1;i<=39;i++)cout<<" ";cout<<c<<endl;return 0;
}

输出样例:

这里为输入样例的代码运行出来的结果,不嫌麻烦的同学也可以使用printf对下面的结果一行一行去输出。

*****         **************     ********************** **************************************************************************************************************************************************************************************************************
#include<bits/stdc++.h>
using namespace std;
int main(){int i,j,k,l,m;char c='/*';cout<<endl;for (i=1;i<=3;i++){ for (j=1;j<=32-2*i;j++)cout<<" ";for (k=1;k<=4*i+1;k++)cout<<c;for (l=1;l<=13-4*i;l++)cout<<" ";for (m=1;m<=4*i+1;m++)cout<<c;cout<<endl;
}for (i=1;i<=3;i++){for (j=1;j<=24+1;j++)cout<<" ";for (k=1;k<=29;k++)cout<<c;cout<<endl;}for (i=7;i>=1;i--){ for (j=1;j<=40-2*i;j++)cout<<" ";for (k=1;k<=4*i-1;k++)cout<<c;cout<<endl;}for (i=1;i<=39;i++)cout<<" ";cout<<c<<endl;return 0;
}

7-2 求一元二次方程

image.png

如上图,求解该一元二次方程,y=a*x^2+b*x+c。

输入格式:

输出格式:

输出“a=-1,b=-2,c=z”,z对应c的实际值。

注:本题作者已经给你求出a和b的结果,请通过看图得到c的值,并完成正确结果的输出。

输入样例:

在这里给出一组输入。例如:

输出样例:

在这里给出相应的输出。例如:

a=-1,b=-2,c=0
#include<bits/stdc++.h>
using namespace std;
int main(){cout<<"a=-1,b=-2,c=3";return 0;
}

 7-3 求积分

image.png

输入格式:

输入一个数x,求上述不定积分,常数项C请忽略。

输出格式:

保留两位小数输出结果。

输入样例:

在这里给出一组输入。例如:

2

输出样例:

在这里给出相应的输出。例如:

4.00
#include<bits/stdc++.h>
using namespace std;
int main(){double x,y=0;cin>>x;if(x>1||(x>-1&&x<0))y=pow(x,4)/4;else y=pow(x,2)/2;printf("%.2f",y);return 0;
} 
#include<bits/stdc++.h>
using namespace std;
int main(){double x,z,y=0;cin>>x;z=x*x*x;if(x<z)y=pow(x,4)/4;else y=pow(x,2)/2;printf("%.2f",y);return 0;
} 

7-4 小袁的X

小袁想出一道循环输出图形,然后他看到了X,请各位同学告诉他应该怎么输出。

输入格式:

输入一个整数n。

输出格式:

输出一个有n行的“X”型图形。

输入样例1:

在这里给出一组输入。例如:

3

输出样例1:

在这里给出相应的输出。例如:

* ** 
* *

输入样例2:

在这里给出一组输入。例如:

4

输出样例2:

在这里给出相应的输出。例如:

*  *** ** 
*  *

#include<bits/stdc++.h>
using namespace std;
int main(){int a;cin>>a;for(int i=1;i<=a;i++){for(int j=a;j>=1;j--){if((i+j==a+1)||(i==j))  printf("*");else   printf(" ");}printf("\n");}return 0;
}

7-5 字符串的删除与排列

你了解回文串嘛?简单来说回文串指正读和反读都是一样的字符串。例如:“abba”是一个回文串,“abca”则不是。现在我们需要对回文串进行一个“简单”操作,我相信每个同学都能够做到。
操作:你需要做的操作是在一串N长度的字符串中删除K个字符,任意排列此字符串能否使它成为回文串,如果能输出YES,不能输出NO

输入格式:

第一行给出T(T < 100)组测试数据。
接下来每组测试输入一个N(1 <= N <= 1e5)和 K(0 <=k <= N)。
下一行输入一个长度为N的字符串进行上述操作。

输出格式:

按照样例即可。

输入样例1:

1
1 0
b

输出样例1:

在这里给出相应的输出。例如:

YES

输入样例2:

10
1 0
a
2 0
ab
2 1
ba
3 1
abb
3 2
abc
6 2
bacacd
6 2
fagbza
6 2
zwaafa
7 2
taagaak
14 3
ttrraakkttoorr

输出样例1:

在这里给出相应的输出。例如:

YES
NO
YES
YES
YES
YES
NO
NO
YES
YES
#include<bits/stdc++.h>using i64 = long long;
using u64 = unsigned long long;#define IOS std::ios::sync_with_stdio(false), std::cin.tie(nullptr), std::cout.tie(nullptr)
#define all(v) (v).begin(),(v).end()
void debug(std::vector <int> &a, int n){for (int i = 1; i <= n; i ++){std::cout << a[i] << " \n"[i == n];}}
void YES(){std::cout << "YES\n";}
void NO(){std::cout << "NO\n";}
void Yes(){std::cout << "Yes\n";}
void No(){std::cout << "No\n";}
void yes(){std::cout << "yes\n";}
void no(){std::cout << "no\n";}const int N = 2e5 + 10;
constexpr i64 mod1 = 998244353, mod2 = 1e9 + 7;//先独自构造出一个回文串看需要的是否满足,然后有单的尽量再放一个进去,与需要的字符个数进行判断即可void solve(){int n, k;std::string s;std::cin >> n >> k >> s;if (n - k == 1){YES();return ;}std::map <char, int> mp;int need = n - k;for (auto x : s){mp[x] ++;}int ans = 0, dan = 0;for (auto [x, y] : mp){ans += y / 2;if (y % 2){dan ++;}}int res = ans * 2 + (dan > 0 ? 1 : 0);if (res >= need){YES();}else {NO();}
}int main()
{IOS;int _;std::cin >> _;while (_ --) solve();return 0;
}

 7-6 钟离的尘世一日闲游

海灯节快到了,往生堂陆陆续续开始组织员工们进行休假,今天就轮到了钟离。对这种难得一次的休假,钟离已经做好了尘世闲游的规划,当假期批准时就踏上了旅程。在路经石门时,他发现这次出门又没有带摩拉,而石门距离邻国蒙德已经不远了,于是钟离决定去蒙德寻找温迪帮忙。由于两国之间还存在多条关口路径,且只能够经由若干个关口路经才可能到达蒙德,钟离想知道这些关口之间是不是互相连通的,以便他判断是否可以从任意关口出发最终都可以到达蒙德,现在已知两地之间共有N个关口(关口从1N编号),这些关口之间存在M条关口路径。想请你设计程序,帮助钟离判断这些关口是不是互相连通的。

image.png

输入格式:

第一行输入一个正整数N和正整数M(1<=N<=10,0<=M<=10)。

接下来M行,每行输入三个正整数R1R2(1<=R1R2<=M),表示关口R1与关口R2之间存在一条关口路经。

题目保证输入的数据均合法。

输出格式:

如果所有关口都是连通的,那么输出一行”Accept”(引号不输出)。

如果所有关口并不是连通的,那么在一行中输出一个整数S,代表这些关口组成的集合数。

这里给出关口集合的定义:连通的多个关口(也可以只有一个关口)被称为一个关口集合。

比如:

(1)一共有3个关口,其中关口1、2、3是连通的,那么称关口1、2、3是一个关口集合;

(2)一共有3个关口,其中仅关口1、2是连通的,那么称关口1、2是一个关口集合,关口3单独也是一个关口集合。

注:关口集合的子集不能够作为一个关口集合。

输入样例:

4 3
1 2
2 3
1 3

输出样例:

2

#include<bits/stdc++.h>
#define IOS ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);using namespace std;
const int MAX=15;
//最大路经数
int p[MAX];
//并查集根节点数组int find(int);
//建立并查集函数int main(void){IOS;int N, M;cin>>N>>M;for(int i=1;i<=N;i++)        //初始化并查集根节点数组,初始时各个关口节点互不相关p[i]=i;for(int i=0;i<M;i++){        //输入N个关口路经连通关系int R1, R2;cin>>R1>>R2;p[find(R1)]=find(p[R2]);    //合并关口节点}int cnt=0;for(int i=1;i<=N;i++)if(p[i]==i) cnt++;        //对并查集中的集合数计数if(cnt==1)//如果集合数为1,说明其中所有结点都是连通的cout<<"Accept\n";else//否则不连通,输出集合的个数cout<<cnt<<endl;return 0;
}int find(int x){if(x!=p[x]) return find(p[x]);return p[x];
}

7-7 旋转矩阵

任意输入一个n阶矩阵,将该矩阵旋转 r*90° 后输出。当 r < 0 时逆时针旋转,当 r > 0 时顺时针旋转。例如,当 r = -1 时逆时针旋转90°,当 r = 2 时顺时针旋转180°。

输入格式:

第一行输入两个整数 n 和 r( 1 ≤ n ≤ 1000,-1000 ≤ r ≤ 1000) 。

接下来 n 行,每行输入 n 个整数,表示 n 阶矩阵 。

输出格式:

输出旋转后的矩阵,数字之间间隔一个空格。

输入样例:

在这里给出一组输入。例如:

3 1
1 2 3
4 5 6
7 8 9

输出样例:

在这里给出相应的输出。例如:

7 4 1
8 5 2
9 6 3
#include<bits/stdc++.h>
using namespace std;
const int N = 1010;
int a[N][N], n, r;
void rotate(int r);
int main()
{cin >> n >> r;for(int i = 0; i < n; i ++)for(int j = 0; j < n; j ++)cin >> a[i][j];if(r < 0) r = (-r)%4==0 ? 0 : 4 - (-r)%4; // 求补数else r = r % 4; //求余数rotate( r );return 0;
}
void rotate(int r)
{if(r == 0) { // 旋转0°for(int i = 0; i < n; i ++) {for(int j = 0; j < n; j ++) {if(j != 0) cout << " ";cout << a[i][j];}cout << endl;}} else if(r == 1) { // 旋转90°for(int j = 0; j < n; j ++) {for(int i = n - 1; i >= 0; i --) {if(i != n - 1) cout << " ";cout << a[i][j];}cout << endl;}} else if(r == 2) { // 旋转180°for(int i = n - 1; i >= 0; i --) {for(int j = n - 1; j >= 0; j --) {if(j != n - 1) cout << " ";cout << a[i][j];}cout << endl;}} else if(r == 3) { // 旋转270°for(int j = n - 1; j >= 0; j --) {for(int i = 0; i < n; i ++) {if(i != 0) cout << " ";cout << a[i][j];}cout << endl;}}
}

 7-8 我只想要分

完全赛题目由N个部分组成,每个部分有两个题,分别是A类题和B类题,答题者可从两道题中选一道题作答,两题分数可能不同

现有一位完全AC大佬,对于完全AC大佬的解释我们可以理解为对大佬来说,所有题都是送分题,我们只需要帮助大佬算出他所能取得的最高分数

注意:机制要求最终答题者所选的A类题和B类题题数之差不得大于1

输入格式:

输入首先在第一行给出正整数N,对应完全赛的N个部分

接下来N行每行给出两个正实数,分别为该部分A类题与B类题的分数

输出格式:

输出该场完全赛大佬在合规的情况下所能取得的最高分数,分数要求保留两位小数输出

输入样例:

在这里给出一组输入。例如:

5
2 3
8.05 4
25 24
89 68
25 23

输出样例:

在这里给出相应的输出。例如:

149.05

样例中我们把第2、4、5部分选A类,第1、3部分选B类,结果为3+8.05+24+89+25=149.05

#include<bits/stdc++.h>
using namespace std;
double a,b[10001];
bool com(double a,double b){return a>b;
}
int main(){int n;double sum;cin>>n;if(n==0){cout<<"0.00";return 0;}for(int i=0;i<n;i++){cin>>a>>b[i];b[i]=b[i]-a;sum+=a;}sort(b,b+n,com);for(int i=0;i<n/2;i++){sum+=b[i];}if(n%2){sum=max(sum,sum+b[n/2]);}printf("%.2lf",sum);return 0;
} 

 7-9 草元素方碑解密

水神不歪^_^

在提瓦特大陆上总是能够遇见许多元素方碑,这不,孙俊豪带着纳西妲在须弥的雨林里散步时就发现有一处草方碑的解密,走近一看发现是N个元素方碑的排列解密问题,必须要按照固定的排列顺序激活方碑才可以完成这个解密,由于孙俊豪没有看攻略的习惯,他就决定自己动手解密,他打算拿出草稿本写出所有可能的排列,然后一一进行测试,但是人工计算排列的时间成本实在太高了,所以还得交给计算机来实现。由于孙俊豪是个混子,学艺不精,设计不出这种程序,于是现在他想请你帮忙,设计出这样一个程序,帮助他成功解密拿到原石。

image.png

这个解密是这样设计的:

N个元素方碑从左到右依次线性排列,依次编号为1-N2 <= N <= 10),并且每一个方碑都有其对应的基础权值(权值依次为999999999999,.…..)。当元素方碑被点亮时,它对应的实际权值=i×基础权值,其中i代表该元素方碑是第i个被点亮的。最终点亮全部方碑时,系统会计算出全部方碑的实际权值和,以此做出判断。

解密成功的条件是:

N个元素方碑都被点亮并且它们实际权值的合等于Q

注:每一个元素方碑只能被点亮一次。

题目保证最终结果一定有且仅有唯一解。

样例1解释:

第一次点亮编号为2的方碑,此时它的实际权值为1*9999=9999

第二次点亮编号为3的方碑,此时它的实际权值为2*99999=199998

第三次点亮编号为1的方碑,此时它的实际权值为3*999=2997

image.png

输入格式:

第一行输入一个N(表示这是N个元素方碑的解密),第二行输入一个Q(表示解密成功的实际权值合)。

输出格式:

输出孙俊豪解密成功时依次点亮的方碑编号,相邻两个方碑编号之间用“->”连接。

输入样例1:

3
212994

输出样例1:

2->3->1
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll n,arr[11],visit[11];
ll a[11]={0,999,9999,99999,999999,9999999,99999999,999999999,9999999999,99999999999,999999999999};
ll qsum,quan;
void dfs(int begin){if(begin>n){qsum=0;for(int i=1;i<=n;i++){qsum+=i*a[arr[i]];}if(qsum==quan){for(int i=1;i<=n;i++){if(i>1) cout<<"->";cout<<arr[i];}return ;}}else{for(int i=1;i<=n;i++){if(visit[i]==0){arr[begin]=i;visit[i]=1;dfs(begin+1);visit[i]=0;}}}
}
int main()
{cin>>n>>quan;dfs(1);return 0;
}// #include<bits/stdc++.h>
// using namespace std;
// typedef long long ll;
// ll a[10]={0,999,9999,99999,999999,9999999,99999999,999999999,9999999999,99999999999};
// int main()
// {
//     int n,k;
//     ll s=0;
//     cin>>n;
//     for(ll i=1;i<=n;i++){
//         cin>>k;
//         s+=i*a[k];
//     }
//     //元素方碑数据构造
//     输入:
//         n
//         1 2 3 4
//     输出n个方碑解密-->顺序为1 2 3 4的解密权值和
//     cout<<s;
//     return 0;
// }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/178517.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

智能优化算法应用:基于蝴蝶算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于蝴蝶算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于蝴蝶算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.蝴蝶算法4.实验参数设定5.算法结果6.参考文献7.MATLAB…

Stable Diffusion绘画系列【2】:二次元风美女

《博主简介》 小伙伴们好&#xff0c;我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源&#xff0c;可关注公-仲-hao:【阿旭算法与机器学习】&#xff0c;共同学习交流~ &#x1f44d;感谢小伙伴们点赞、关注&#xff01; 《------往期经典推…

2004-2022年上市公司托宾Q值数据

2004-2022年上市公司托宾Q值数据 1、时间&#xff1a;2004-2022年 2、指标&#xff1a;年份、股票代码、股票简称、行业名称、行业代码、省份、城市、区县、行政区划代码、城市代码、区县代码、首次上市年份、上市状态、托宾Q值 3、范围&#xff1a;上市公司 4、来源&#…

Python小知识

个人学习笔记&#xff0c;用于记录使用过程中好用的技巧、好用的库。 1 小知识 1.1 相对路径 1.2 打包Exe文件 命令&#xff1a; pyinstaller -F main.py其中-F&#xff1a;覆盖之前打包的文件 mian.py&#xff1a;需要打包的Python文件 PS&#xff1a;使用pyinstaller 5.1…

如何优化索引?

前缀索引 这个操作是为了减少索引长度&#xff0c;即占用空间的。这样一个页可以多存一些索引&#xff0c;查找时候就会更快了。但是前缀索引有俩缺点&#xff0c;一个是ORDER BY或GROUP BY时候没法用&#xff0c;另一个是没法用做覆盖索引&#xff08;因为索引本来自己都不全…

计算机网络408

一&#xff1a;计算机网络体系结构 1.计网的概念&#xff0c;组成&#xff0c;功能和分类 一&#xff1a;计算机网络的发展 (3)从功能组成视觉看&#xff1a;分为资源子网和通信子网 2.计网性能指标

性能自动化测试?

一、思考❓❔ 1.什么是性能自动化测试? 性能 系统负载能力超负荷运行下的稳定性系统瓶颈 自动化测试 使用程序代替手工提升测试效率性能自动化 使用代码模拟大批量用户让用户并发请求多页面多用户并发请求采集参数&#xff0c;统计系统负载能力生成报告 2.Python中的性能…

RabbitMQ工作模式2 整合springboot 和MQ高级特性

RabbitMQ工作模式 1.路由模式 创建交换机 , 连接队列 (生产者) public class MyTestExDirect {Testpublic void bbb() throws IOException, TimeoutException {ConnectionFactory connectionFactory new ConnectionFactory();//连接mqconnectionFactory.setUsername("…

可信区块链运行监测服务平台(TBM)发展研讨会在北京召开

2023年11月23日&#xff0c;由中国信息通信研究院、中国移动通信集团设计院有限公司、区块链服务网络&#xff08;BSN&#xff09;发展联盟共同主办的“可信区块链运行监测服务平台&#xff08;TBM&#xff09;发展研讨会”在北京成功举行。会议围绕区块链的监测与治理&#xf…

vatee万腾的科技征途:Vatee数字化力量的新视野

在科技的浪潮中&#xff0c;Vatee万腾正展开一场引人注目的科技征途&#xff0c;以其独特的数字化力量描绘出一片新的视野。这不仅是一次技术的升级&#xff0c;更是一场对未来的全新探索&#xff0c;为我们带来了前所未有的数字化时代。 Vatee万腾以其卓越的技术实力和前瞻性的…

springboot实现数据脱敏

springboot实现数据脱敏 怎么说呢&#xff0c;写着写着发觉 ”这写的什么玩意“ 。 总的来说就是&#xff0c;这篇文章并不能解决数据脱敏问题&#xff0c;但以下链接可以。 SpringBoot中利用自定义注解优雅地实现隐私数据脱敏 然后回到本文&#xff0c;本来是想基于AOP代理&am…

PHP众筹系统源码+支持报名众筹+商品众筹+无偿众筹+市面上所有的众筹模式 附带完整的搭建教程

大家好啊&#xff0c;罗峰今天来给大家分好用的源码系统了。今天要给大家分享的是一款PHP众筹系统源码。众筹作为一种新型的融资方式&#xff0c;逐渐在市场上占据了重要的地位。从公益众筹到商品众筹&#xff0c;再到股权众筹&#xff0c;各种众筹模式层出不穷。然而&#xff…

ELK日志系统

&#xff08;一&#xff09;ELK 1、elk&#xff1a;是一套完整的日志集中处理方案&#xff0c;由三个开源的软件简称组成 2、E&#xff1a;ElasticSearch&#xff08;ES&#xff09;&#xff0c;是一个开源的&#xff0c;分布式的存储检索引擎&#xff08;索引型的非关系型数…

后端整合Swagger+Knife4j接口文档

后端整合SwaggerKnife4j接口文档 接口文档介绍 什么是接口文档&#xff1a;写接口信息的文档&#xff0c;条接口包括&#xff1a; 请求参数响应参数 错误码 接口地址接口名称请求类型请求格式备注 为什么需要接口文档 who用&#xff1f;后端提供&#xff0c;前后端都需要使用…

ESXi 添加虚拟闪存 无可选设备问题排查

虚拟内存是计算机系统中的一种技术&#xff0c;它可以将计算机硬盘的一部分空间作为临时存储器来使用。当计算机的物理内存&#xff08;RAM&#xff09;不足时&#xff0c;操作系统可以将部分数据从内存移至硬盘的虚拟内存空间中&#xff0c;以释放内存供其他程序使用。虚拟内存…

uniapp基础-教程之HBuilderX配置篇-01

uniapp教程之HBuilderX配置篇-01 为什么要做这个教程的梳理&#xff0c;主要用于自己学习和总结&#xff0c;利于增加自己的积累和记忆。首先下载HBuilderX&#xff0c;并保证你的软件在C盘进行运行&#xff0c;最好使用英文或者拼音&#xff0c;这个操作是为了保证软件的稳定…

羊大师提示,别让坏习惯影响生活

羊大师提示&#xff0c;别让坏习惯影响生活 拖延是人们常常会遇到的一种坏习惯&#xff0c;它不仅浪费时间&#xff0c;还会对生活、工作和学习造成负面影响。为了改变这种坏习惯&#xff0c;我们需要采取一系列的措施&#xff0c;从根本上改变自己的生活方式。下面小编羊大师…

bat脚本执行py文件

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…

你知道如何使用队列实现栈吗?(C语言)

这时一道非常经典的题型&#xff0c;因为栈和队列的性质是相反的&#xff0c;队列的数据是先入先出&#xff0c;栈的数据是后入先出&#xff0c;那么怎样使用两个队列实现栈呢&#xff1f; 225. 用队列实现栈https://leetcode.cn/problems/implement-stack-using-queues/ 这是…

安卓开发学习---kotlin版---笔记(一)

Hello word 前言&#xff1a;上次学习安卓&#xff0c;学了Java开发&#xff0c;简单的搭了几个安卓界面。这次要学习Kotlin语言&#xff0c;然后开发安卓&#xff0c;趁着还年轻&#xff0c;学点新东西&#xff0c;坚持~ 未来的你会感谢现在努力的你~ 主要学习资料&#xff1a…