查看代码中有仔细的批注

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. winform 使用Clipboard 和windows Word Com组件 把Html 导出到word

    首先是把Html复制到剪贴板 见:https://www.cnblogs.com/HelloQLQ/p/16289343.html 然后使用: private void saveAsWordCopy( ...

  2. CSS置顶操作(z-index属性)

    z-index使用方法: 1.首先要把position设置为 absolute 或 relative 或 fixed,z-index才能生效 2.设置z-index的值(整数) # 值越大代表越置前, ...

  3. 2024盘古石取证比赛(APK)

    题目列表 使用软件: Notepad++,火眼证据分析软件,雷电分析app,DB browser for SQLCipher 1. 分析伏季雅的手机检材,手机中诈骗APP的包名是:[答案格式:abc. ...

  4. 微信小程序学习随笔

    scroll-view与view 要做出滚动视图的效果 <scroll-view> <view id="1">11</view> <vie ...

  5. flutter 打包web应用指定上下文

    使用flutter build web命令打包的应用不包含上下文,只能部署在根目录.如何指定上下文,部署在子目录下呢? 有两种办法: 1.修改web/index.html文件 修改 <base ...

  6. VmWare虚拟机和主机配置为同一网段IP

    参考博客:将虚拟机IP与主机IP设置在同一网段的方法 - 天懿 - 博客园 (cnblogs.com) 主机地址 主机通过WiFi连接,地址信息为: 虚拟机配置 选择编辑-->虚拟网络编辑器-- ...

  7. python实现取得成员所在的多个位置

    注:本代码主要是为了实现多个集合之间求并集时的辅助代码,简单的举个例子来说明代码的功能. 约定:例如{11: [2, 3]}表示数据11在集合2和集合3中都存在. 现有以下数据: d0 = {38:  ...

  8. 【技巧】JS代码这么写,前端小姐姐都会爱上你

    前言 缘由 JS代码小技巧,教你如何守株待妹 你想听的故事: 顶着『前端小王子』的称号,却无法施展自己的才能. 想当年本狗赤手空拳打入前端阵地,就是想通过技术的制高点来带动前端妹子.奈何时不待我,前端 ...

  9. win10 chrome 百分浏览器 centbrowser 收藏夹栏字体突然变小

    win10 chrome 百分浏览器 centbrowser 收藏夹栏字体突然变小 解决方法: 在"开始" >"设置" >"轻松使用&qu ...

  10. C程序函数调用&系统调用

    理解程序的执行 我们要知道CPU可以自由地访问寄存器.内存.另外,程序是由操作系统执行的,所以操作系统能够控制程序的所有执行情况,限制程序的行为. 程序地执行过程: 程序是一个二进制文件,包含程序的代 ...