试题 算法训练 Yaroslav and Algorithm

资源限制

时间限制:100ms 内存限制:128.0MB

问题描述

  (这道题的数据和SPJ已完工,尽情来虐吧!)

  Yaroslav喜欢算法。我们将描述一个他最喜欢的算法。

  1.这个算法接受一个字符串作为输入。我们设这个输入字符串为a。

  2.这个算法由一些命令组成。i号命令的形式为"s[i]>>w[i]"或"s[i]<>w[i]",其中s[i]和w[i]是长度不超过7的字符串(可以为空),由数字

或字符"?"组成。

  3.这个算法每次寻找一个编号最小的命令i,使得s[i]是a的子串。如果没有找到这样的命令,那么整个算法终止。

  4.设找到的命令编号为k。在字符串a中,s[k]第一次出现的位置会被w[k]替换。如果这个命令形如"s[k]>>w[k]",那么这个算法继续执行(译注:

回到第3步)。否则,算法终止。

  5.算法的输出就是算法终止时字符串a的值。

  Yaroslav有一个n个正整数的集合,他需要一个这样的算法,且能够使每一个数加1。更正式地,如果我们把每个数看成一个十进制表示的字符串,

那么对于每个字符串独立地运行这个算法,这个算法需要输出一个输入串对应的数+1的字符串。

  帮帮他吧!

输入格式

  第一行包含一个整数n(集合中数的个数),接下来n行,每行包含一个正整数。

输出格式

  输出一个符合题意的算法(能够分别将每个数增加1)。第i行输出这个算法的第i个命令,不包含空格。

  你的算法将会对于每个输入运行一遍。你的输出会被认为是正确的,当且仅当:

  ·每行都是一个合法的命令(格式见题目描述)

  ·命令的条数不能超过50。

  ·算法需要对每个给出的数+1。

  ·为了得到结果,算法必须对于每个输入都执行不超过200步。

样例输入

2

10

79

样例输出

10<>11

79<>80

数据规模和约定

  1≤每个数≤10^25。共有20个测试点,对于第i个测试点,n=5i。

public class Main {
public static void main(String[] args) throws IOException {
BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(input.readLine());
input.close();
StringBuilder[] arr = new StringBuilder[n];
for (int i = 0; i < n; i++) {
arr[i] = new StringBuilder("0" + input.readLine());
}
f(arr);
} public static void f(StringBuilder[] arr) {
for (int i = 0; i < arr.length; i++) {
// 将即将要操作的字符串用临时变量保存起来
StringBuilder temp = new StringBuilder(arr[i]);
int index = arr[i].length() - 1;
int a = Integer.parseInt(arr[i].substring(index, index + 1)) + 1; // 如果加+1超过9,且当前的index大于0就要进位给前面一位数
while (a > 9 && index > 0) {
// 进位之后,当前位置一定要变为0
arr[i].setCharAt(index, '0');
// 向前移动一位
index--;
// 进位
a = Integer.parseInt(arr[i].substring(index, index + 1)) + 1;
}
// 跳出了while循环,则表示此处以及此处之前都不需要进位了
arr[i].setCharAt(index, (char) (a + '0')); if ("0".equals(arr[i].substring(0, 1))) {
System.out.println(temp.substring(1) + "<>" + arr[i].substring(1));
} else {
System.out.println(temp.substring(1) + "<>" + arr[i]);
}
}
}
}

蓝桥杯——试题 算法训练 Yaroslav and Algorithm的更多相关文章

  1. 蓝桥杯——试题 算法训练 Sereja and Squares

    Java 代码 ```` import java.util.Scanner; public class Main { private static long num = 0; private stat ...

  2. Java实现 蓝桥杯VIP 算法训练 连通分块(并查集)

    试题 算法训练 连通分块 资源限制 时间限制:200ms 内存限制:8.0MB 问题描述 连通分块 输入格式 输入的第一行包含两个整数n, m n代表图中的点的个数,m代表边的个数 接下来m行,每行2 ...

  3. Java实现 蓝桥杯VIP 算法训练 无权最长链

    试题 算法训练 无权最长链 问题描述 给定一个n节点m边的无圈且连通的图,求直径 输入格式 第一行两个数字n,m 接下来m行每行两个数字x,y,代表x,y之间有一条边 输出格式 要求用户的输出满足的格 ...

  4. Java实现 蓝桥杯VIP 算法训练 最大质因数(暴力)

    试题 算法训练 最大质因数 问题描述 给出N个数字,求出有最大的最大质因数的那个数 输入格式 第一行:一个整数N. 接下来的N行,每行一个整数A_i,表示给出的那N个数字. 输出格式 第一行:一个整数 ...

  5. Java实现 蓝桥杯VIP 算法训练 与1连通的点的个数(并查集)

    试题 算法训练 与1连通的点的个数 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 没有问题描述. 输入格式 输入的第一行包含两个整数n, m n代表图中的点的个数,m代表边的个数 ...

  6. Java实现 蓝桥杯VIP 算法训练 非递归(暴力)

    试题 算法训练 非递归 问题描述 当x>1时,Hermite多项式的定义见第二版教材125页.用户输入x和n,试编写"非递归"函数,输出对应的Hermite多项式的值.其中x ...

  7. Java实现 蓝桥杯VIP 算法训练 步与血(递推 || DFS)

    试题 算法训练 步与血 问题描述 有n*n的方格,其中有m个障碍,第i个障碍会消耗你p[i]点血.初始你有C点血,你需要从(1,1)到(n,n),并保证血量大于0,求最小步数. 输入格式 第一行3个整 ...

  8. Java实现 蓝桥杯VIP 算法训练 -2进制(暴力)

    试题 算法训练 -2进制 问题描述 给出1个十进制整数N,计算出它的-2进制表示. 输入格式 第一行:一个整数N,表示要转换的十进制数. 输出格式 第一行:N的-2进制表示. 样例输入 -13 样例输 ...

  9. Java实现蓝桥杯VIP算法训练 纪念品分组

    试题 算法训练 纪念品分组 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 元旦快到了,校学生会让乐乐负责新年晚会的纪念品发放工作.为使得参加晚会的同学所获得的纪念品价值 相对均衡, ...

随机推荐

  1. (十一)整合 FastDFS 中间件,实现文件分布式管理

    整合 FastDFS 中间件,实现文件分布式管理 1.FastDFS简介 1.1 核心角色 1.2 运转流程 2.SpringBoot整合FastDFS 2.1 核心步骤 2.2 核心依赖 2.3 配 ...

  2. linux系统权限管理拓展:特殊权限

    文件与目录权限设置不止读.写.执行这些,还有所谓的特殊权限,由于特殊权限会拥有一些"特权": 1 2 3 4 本章内容 SUID SGID SBIT 文件扩展权限ACL 1.SUI ...

  3. CCF CSP 202012-2 期末预测之最佳阈值

    202012-2 期末预测之最佳阈值 题目背景 考虑到安全指数是一个较大范围内的整数.小菜很可能搞不清楚自己是否真的安全,顿顿决定设置一个阈值 θ,以便将安全指数 y 转化为一个具体的预测结果--&q ...

  4. Redis 实战 —— 14. Redis 的 Lua 脚本编程

    简介 Redis 从 2.6 版本开始引入使用 Lua 编程语言进行的服务器端脚本编程功能,这个功能可以让用户直接在 Redis 内部执行各种操作,从而达到简化代码并提高性能的作用. P248 在不编 ...

  5. Codeforces Round #652 (Div. 2) B. AccurateLee(字符串)

    题目链接:https://codeforces.com/contest/1369/problem/B 题意 给出一个长 $n$ 的 二进制串,每次可以选择字符串中的一个 $10$,然后删除其中的一个字 ...

  6. 牛客算法周周练20 F.紫魔法师 (二分图染色)

    题意:给你一张图,对其染色,使得相连的点的颜色两两不同求,最少使用多少种颜色. 题解:首先,若\(n=1\),只需要一种.然后我们再去判断是否是二分图,对于二分图,两种颜色就够了,若不是二分图,也就是 ...

  7. PowerShell随笔6---ISE

    简单的命令可以通过控制台窗口输入执行,但是我的脚本逻辑复杂,需要保存.总不能在命令行工具中执行吧. 关了窗口,啥都没了.有没有一个IDE,有. 在PowerShell命令行窗口中输入:ISE,就会打开 ...

  8. PowerShell随笔4---变量

    全局变量 输入$global:后按ctrl+space,我们就可以看到所有的全局变量. 比如我们可以查看PowerShell的版本: 我们可以在在编写脚本代码的时候使用这些变量,globle可以省略, ...

  9. 如何用 4 个小时搭建一个新 “Clubhouse” ,引爆声音社交新风口

    Clubhouse,基于实时音频技术的声音社交现象级火爆 最近,让硅谷两位顶级 VC 大打出手争相投资的 Clubhouse 火到了国内,甚至在社交圈里 "一码难求",此种火爆程度 ...

  10. [Python] Pandas 中 Series 和 DataFrame 的用法笔记

    目录 1. Series对象 自定义元素的行标签 使用Series对象定义基于字典创建数据结构 2. DataFrame对象 自定义行标签和列标签 使用DataFrame对象可以基于字典创建数据结构 ...