1 条题解

  • 0
    @ 2025-8-24 22:44:40

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar ZepX_D
    12.20

    搬运于2025-08-24 22:44:40,当前版本为作者最后更新于2023-02-04 20:25:33,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    题意

    输入一个字符串,前两个数字和为奇数时输出 left \text{left} ,为非零偶数时输出 right \text{right} ,为 0 时输出上次的答案。 并且每次都输出最后三位数字字符。

    做法

    每次输入后模拟判断,再用一个字符串来记录上次的答案

    #include <cstdio>
    #include <string>
    #include <iostream>
    
    using namespace std;
    
    int main()
    {
    	string s,k;cin >> s;//k用来记录上次的答案
    	while(s != "99999")//当读入为99999时跳出
    	{
    		int sum = s[0]-48+s[1]-48;//将数字字符转换为数字,其实这里不转换也可以,不影响奇偶性,不过判断是否为零要变为判断是否为96
    		if (!sum) cout << k;//为零直接输出上次答案
    		else if (!(sum&1)) printf("right"),k = "right"; //判断是否为偶数,sum&1相当于sum&2
    		else printf("left"),k = "left";
    		printf(" %c%c%c\n",s[2],s[3],s[4]);//输出后三个字符
    		cin >>s;
    	}
    }
    
    • 1

    信息

    ID
    8167
    时间
    500ms
    内存
    128MiB
    难度
    1
    标签
    递交数
    0
    已通过
    0
    上传者