118 条题解

  • -7
    @ 2024-8-4 10:48:27

    Hello, MXOJ!

    思路:

    我们发现这道题无法读入,可是这怎么行?千万不要出了什么乱子。
    我们可以用一个简单的函数解决读入的问题。

    解题方法:

    我们可以使用ungetc 将字符放回输入流。
    这样我们就可以边读入边输出了。

    易错点:

    1. 因为这个函数是把字符放到输入流开头,所以要倒序把字符放回输入流中。 才能正序输出。
    2. 注意是英文标点。
    3. 注意 ,\Large\red{, } 后面有空格。

    复杂度

    时间复杂度:O(1)\LARGE{O}\small{(1)}

    空间复杂度:O(0)\LARGE{O}\small{(0)}

    Code

    #include <iostream>
    #include <cstring>
    using namespace std;
    int main()
    {
        ungetc('!', stdin);
        ungetc('J', stdin);
        ungetc('O', stdin);
        ungetc('X', stdin);
        ungetc('M', stdin);
        ungetc(' ', stdin);
        ungetc(',', stdin);
        ungetc('o', stdin);
        ungetc('l', stdin);
        ungetc('l', stdin);
        ungetc('e', stdin);
        ungetc('H', stdin);
        for(int i=0;i<12;i++)
    		putchar(getchar());
    }
    

    信息

    ID
    1
    时间
    1000ms
    内存
    512MiB
    难度
    1
    标签
    (无)
    递交数
    2477
    已通过
    1210
    上传者