1 条题解
-
1
题解 z1054. 小A的文本编辑器
本题较难点显然是跳转指令类以及计算边界。
计算边界可以统一处理,使用
if或?:运算符都可以。如://r表示行。c表示列。a为string组,表示文本。 //本人原代码行列从0开头,输出时要加1。 r=(r[0?0:(r](0?0:(r)n-1?n-1:r)); c=(c>int(a[r].size())-1?int(a[r].size())-1:(c<0?0:c));分析跳转指令类可以使用
substr(a,b)和stoi(a),substr(a,b)用于截取从 开头,长度为 的字符串;stoi(a)用于将字符串 转化为整数。代码如://p表示命令。 else if(p[0]==':'){ tmp=p.substr(1); if(tmp[0]=='+'){ tmp=tmp.substr(1); r+=stoi(tmp); } else if(tmp[0]=='-'){ tmp=tmp.substr(1); r-=stoi(tmp); } else{ r=stoi(tmp)-1; } }其余代码不展示。
- 1
信息
- ID
- 1260
- 时间
- 1000ms
- 内存
- 512MiB
- 难度
- 7
- 标签
- (无)
- 递交数
- 99
- 已通过
- 25
- 上传者