查看代码中有仔细的批注

L1-5 yihan的新函数

题解:(字符串)需要用到一个知识,整数与字符串之间的变换“to_string()”,字符串变成整数“stoll()”函数,还有”stoint()“等字符串变成其他类型的数;这道题还有一个坑点在于位数,奇数位和偶数位要判断,否则输出的答案也是错的。

题目如下:



实现代码:

点击查看代码
#include <bits/stdc++.h>
using namespace std; int main() {
int n;
long long sum =0;
int t =0;
int l =0;
cin>>n;
while(n--)
{
l = 0;
t=0;
long long a;
cin >> a;
if(a%2==0)
t=1;
string a_str = to_string(a);//一个将其他类型转化成string类型
int len = a_str.length();
if(len%2==0)
l=1;
for (int i = 0; i < len; i++) {
if (((t==1)&&((i+1)%2!=0)&&(l==0))||((t==1)&&((i)%2!=0)&&(l==1))||((t==0)&&(i+1)%2!=0)&&(l==1)||((t==0)&&(i)%2!=0)&&(l==0)) {
//这里判断找多少位
a_str[i] = '0';
}
}
sum+=stoll(a_str);//把string类型转化成ll类型
// cout<<stoll(a_str)<<endl;
} cout << sum << endl; return 0;
}

L1-6 二进制

题解:考查知识点:(字符串—进位运算)这道题输入字符串然后从后往前计算,难点在于是否要一开始就补齐,还是直接遍历,第二个难点在于条件的判定,两个字符串什么时候循环停止,还有最后的输出,需要用到反转函数reverse();这里最关键在于遍历两个字符串加法的时候注意条件;

题目如下:

代码如下:

点击查看代码
#include <bits/stdc++.h>

using namespace std;

string addBinary(string a, string b) {
int carry = 0;
string result = ""; int m = a.size(), n = b.size();
int len = max(m, n);
//一个for循环,时间复杂度很小
for (int i = 0; i < len || carry; i++) {
//注意这里的判断条件,小于两个的最大值,
//或者carry不为空,因为有可能最后两个数都是1,需要进位。
int sum = carry;
if (i < m) {
sum += a[m - 1 - i] - '0';
}
if (i < n) {
sum += b[n - 1 - i] - '0';
} result += to_string(sum % 2);
//这里的字符串result从前往后加上对应每一位的二进制数
carry = sum / 2;
//记录是否进位
} reverse(result.begin(), result.end());
//反转字符串,输出从后往前,正确答案
return result;
} int main() {
string a, b;
cin >> a >> b; cout << addBinary(a, b) << endl; return 0;
}

L1-7 大山中的学院

题解:一个很简单的模拟,当时没写出来的原因是没有看这道题,只有一个点需要注意就是它的科技值的范围是10^9,需要unsing long long 去存放数据。

题目如下:



代码如下:

点击查看代码
#include <bits/stdc++.h>
using namespace std;
char mp[10100][10000];
unsigned long long v2[10100000];
unsigned long long v[10100][10100];
int xx[]={0,1,0,-1};
int yy[]={-1,0,1,0};
int ma;
int sum;
int ay,ax;
int main ()
{
int n,m,t;
cin>>n>>m>>t;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>mp[i][j];
}
}
for(int i=1;i<=t;i++){
cin>>v2[i];
}
int p=1;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(mp[i][j]=='*')
{
if(p>=t)
break;
v[i][j]=v2[p];
p++;
}
}
if(p>=t)
break;
}
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(mp[i][j]=='-')
{
sum = 0;
for(int k=0;k<=3;k++){
int dx = i+xx[k];
int dy =j+yy[k];
sum+=v[dx][dy];
}
if(ma<sum)
{
ma=sum;
ay=j;
ax=i;
}
}
}
}
cout<<ax<<" "<<ay<<"\n";
cout<<ma; return 0;
}

SUM-2024成信大天梯赛的更多相关文章

  1. 树状数组+二分答案查询第k大的数 (团体程序设计天梯赛 L3-002. 堆栈)

    前提是数的范围较小 1 数据范围:O(n) 2 查第k大的数i:log(n)(树状数组查询小于等于i的数目)*log(n)(二分找到i) 3 添加:log(n) (树状数组) 4 删除:log(n) ...

  2. PTA|团体程序设计天梯赛-练习题目题解锦集(C/C++)(持续更新中……)

    PTA|团体程序设计天梯赛-练习题目题解锦集(持续更新中) 实现语言:C/C++:      欢迎各位看官交流讨论.指导题解错误:或者分享更快的方法!! 题目链接:https://pintia.cn/ ...

  3. PTA L2-001 紧急救援-最短路(Dijkstra)多条最短路找最优解并输出路径 团体程序设计天梯赛-练习集

    L2-001 紧急救援 (25 分)   作为一个城市的应急救援队伍的负责人,你有一张特殊的全国地图.在地图上显示有多个分散的城市和一些连接城市的快速道路.每个城市的救援队数量和每一条连接两个城市的快 ...

  4. 『ACM C++』 PTA 天梯赛练习集L1 | 001-006

    应师兄要求,在打三月底天梯赛之前要把PTA上面的练习集刷完,所以后面的时间就献给PTA啦~ 后面每天刷的题都会把答案代码贡献出来,如果有好的思路想法也会分享一下~ 欢迎大佬提供更好的高效率算法鸭~ - ...

  5. 2018天梯赛第一次训练题解和ac代码

    随着评讲的进行代码和题解会逐步放上来 2018天梯赛第一次训练 1001 : 进制转换 Time Limit(Common/Java):1000MS/10000MS     Memory Limit: ...

  6. PTA 天梯赛 L1

    L1-002 打印沙漏 细节:就是在  (i>j&&i+j<r+1) 这个区间里才有空格,然后就是 for 循环   for(r=1; ;r+=2)  条件不满足之后还会再 ...

  7. 天梯赛 L2-008 最长对称子串

    题目是PTA的天梯赛练习集中的L2-008 https://pintia.cn/problem-sets/994805046380707840/problems/994805067704549376 ...

  8. 【CCCC天梯赛决赛】

    cccc的天梯赛决赛,水题一样的水,中档题以上的还是没做出来.补了一下题,觉得其实也不是很难,主要是练的少. L2-1:红色预警 并查集 我做的时候想不到并查集,想到了也不一定做的出来,都是其实不难. ...

  9. 团 大连网赛 1007 Friends and Enemies

    //大连网赛 1007 Friends and Enemies // 思路:思路很棒! // 转化成最大二分图 // 团:点集的子集是个完全图 // 那么朋友圈可以考虑成一个团,原题就转化成用团去覆盖 ...

  10. L1-049 天梯赛座位分配​​​​​​​

    L1-049 天梯赛座位分配 (20 分) 天梯赛每年有大量参赛队员,要保证同一所学校的所有队员都不能相邻,分配座位就成为一件比较麻烦的事情.为此我们制定如下策略:假设某赛场有 N 所学校参赛,第 i ...

随机推荐

  1. 解决:ModuleNotFoundError: No module named ‘urllib3.packages.six.moves问题

    解决方案: 第一步:把selenium版本降到3.3.1 配合urllib3版本1.26.2使用,成功解决 &在python interpreter安装availablePackages se ...

  2. WPF+Emgucv实现在图像上画出感兴趣的区域 并进行掩膜获取 得到图像均值 和简单的 漫水填充

    <Grid.RowDefinitions></Grid.RowDefinitions> <Grid> <UniformGrid Columns="2 ...

  3. docker基础使用和资源限制

    为什么使用容器 docker设计目标: 提供简单的应用打包工具 开发人员和运维人员职责逻辑分离 多环境保持一致性 轻量级 kubernetes设计目标: 集中管理所有容器 资源编排 资源调度 弹性伸缩 ...

  4. FreeRTOS例程开发

    环境配置 下载官方源码 https://www.freertos.org/ 找到这个,他就是visual studio示例demo,我们主要在这个的基础上修改 下载visio studio https ...

  5. 算法金 | 再见!!!KNN

    大侠幸会,在下全网同名「算法金」 0 基础转 AI 上岸,多个算法赛 Top 「日更万日,让更多人享受智能乐趣」 KNN算法的工作原理简单直观,易于理解和实现,这使得它在各种应用场景中备受青睐. 我们 ...

  6. html2canvas + jspdf导出pdf,文字重叠,样式不显示或者文字不显示

    先在html引入cdn <script src="https://html2canvas.hertzen.com/dist/html2canvas.js"></s ...

  7. INFINI Labs 产品更新 | Easysearch 1.8.2 发布优化 CCR 性能

    INFINI Labs 产品又更新啦~,包括 Easysearch v1.8.0.Gateway.Console.Agent.Loadgen v1.25.0.本次各产品更新了很多亮点功能,如 Easy ...

  8. C# JAVA UrlEncode

    C#  JAVA urlencode 默认是不兼容的.C# 需要encode的部分是小写.JAVA 需要encode的部分是大写. /// <summary> /// java UrlEn ...

  9. com.netflix.hystrix.exception.HystrixBadRequestException: null

    com.netflix.hystrix.exception.HystrixBadRequestException: null 排查方法:如果有多个feign接口的调用,可以在每个调用的方法加上try- ...

  10. fastjson对接口参数的某个字段不打印输出,如文件的base64字符串

    fastjson对接口参数的某个字段不打印输出,如文件的base64字符串 package com.example.core.mydemo.json5; import com.alibaba.fast ...