济源网站建设济源,广州免费网站建设,html基本结构代码,dw对网站建设有哪些作用OD统一考试 题解#xff1a; Java / Python / C 题目描述
有一个特殊的 5键键盘#xff0c;上面有 a,ctrl-c,ctrl-x,ctrl-v,ctrl-a五个键。 a 键在屏幕上输出一个字母 a; ctrl-c 将当前选择的字母复制到剪贴板; ctrl-x 将当前选择的 字母复制到剪贴板#xff0c;并清空选择… OD统一考试 题解 Java / Python / C 题目描述
有一个特殊的 5键键盘上面有 a,ctrl-c,ctrl-x,ctrl-v,ctrl-a五个键。 a 键在屏幕上输出一个字母 a; ctrl-c 将当前选择的字母复制到剪贴板; ctrl-x 将当前选择的 字母复制到剪贴板并清空选择的字母; ctrl-v 将当前剪贴板里的字母输出到屏幕; ctrl-a 选择当前屏幕上所有字母。
注意: 1、剪贴板初始为空新的内容被复制到剪贴板时会覆盖原来的内容 2、当屏幕上没有字母时ctrl-a无效 3、当没有选择字母时ctrl-c和 ctrl-x无效 4、当有字母被选择时a和ctrl-v这两个有输出功能的键会先清空选择的字母再进行输出 给定一系列键盘输入输出最终屏幕上字母的数量。
输入描述
输入为一行为简化解析用数字 12345代表 a,ctrl-c,ctrl-x,ctrl-v,ctrl-a五个键的输入数字用空格分隔
输出描述
输出一个数字为最终屏目上字母的数量。
示例1
输入
1 1 1输出
3说明
连续键入3个a故屏幕上字母的长度为3示例2
输入
1 1 5 1 5 2 4 4输出
2
说明
输入两个a后ctrl-a选择这两个a再输入a时选择的两个a先被清空所以此时屏幕只有一个a后续的ctrl-actrl-c选择并复制了这一个a最后两个ctrl-v在屏幕上输出两个a故屏幕上字母的长度为2第一个ctrl-v清空了屏幕上的那个a题解 模拟题 维护屏幕、剪贴板和选择的状态根据输入键进行更新。 C
#include iostreamusing namespace std;int main() {string s;getline(cin, s);// 当前屏幕总字符数选择的字符数剪切板中的字符数int tot 0, selectCnt 0, clipboardCnt 0;// 是否选择了字符bool selected false;for (char op : s) {if (op 1) { // aif (selected) {tot - selectCnt;selected false;}tot 1;} else if (op 2) { // ctrl-cif (selected) {clipboardCnt selectCnt;}} else if (op 3) { // ctrl-xif (selected) {tot - selectCnt;clipboardCnt selectCnt;selected false;}} else if (op 4) { // ctrl-vif (selected) {tot - selectCnt;selectCnt 0;selected false;}tot clipboardCnt;} else if (op 5) { // ctrl-aselectCnt tot;selected true;}}cout tot endl;return 0;
}Java
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner new Scanner(System.in);String s scanner.nextLine();// 当前屏幕总字符数选择的字符数剪切板中的字符数int tot 0, selectCnt 0, clipboardCnt 0;// 是否选择了字符boolean selected false;for (char op : s.toCharArray()) {if (op 1) { // aif (selected) {tot - selectCnt;selected false;}tot 1;} else if (op 2) { // ctrl-cif (selected) {clipboardCnt selectCnt;}} else if (op 3) { // ctrl-xif (selected) {tot - selectCnt;clipboardCnt selectCnt;selected false;}} else if (op 4) { // ctrl-vif (selected) {tot - selectCnt;selectCnt 0;selected false;}tot clipboardCnt;} else if (op 5) { // ctrl-aselectCnt tot;selected true;}}System.out.println(tot);}
}Python
s input()# 当前屏幕总字符数选择的字符数剪切板中的字符数
tot,selectCnt,clipboardCnt 0,0,0
# 是否选择了字符
selected Falsefor op in s:if op 1: # aif selected:tot - selectCntselected Falsetot 1elif op 2: # ctrl-cif selected:clipboardCnt selectCntelif op 3: # ctrl-xif selected:tot - selectCntclipboardCnt selectCntselected Falseelif op 4: # ctrl-vif selected:tot - selectCntselectCnt 0selected Falsetot clipboardCntelif op 5: # ctrl-aselectCnt totselected Trueprint(tot)整理题解不易 如果有帮助到您请给点个赞 ❤️ 和收藏 ⭐让更多的人看到。