127 条题解
-
-4
题解 - 【MX-A1】你好,梦熊 OJ!
这里我们推荐一种语言:Brainfuck,并用它来解决这个问题。
Brainfuck 的语法极其简单,它用 个控制符控制处于一个初始化为 的字符数组(字符采用 ASCII 码表示)上的一个指针来实现程序的运行。这 个控制符是:
控制符 含义 等价于 C++ 代码(指针为 p
)+ 当前值加 ++*p;
- 当前值减 --*p;
> 指针加 ++p;
< 指针减 --p;
. 输出当前字符 putchar(*p);
, 输入当前字符 *p=getchar();
[ 当前值为 则跳转到对应的 ]
while(*p){
] 当前值非 则跳转到对应的 [
}
可以证明,Brainfuck 是图灵完备的。
根据题目描述,我们可以编写出本题的 Brainfuck 代码:
++++[>++++<-]>[>+++++>++++>++++++>+++>++<<<<<-]>>++++++++.>+++++.+++++++..+++.>----.>.<<<+++++.<++++++++.>++.-----.>>>+.
可是, 梦熊不提供 Brainfuck 这个语言选项怎么办?
这里我们可以用 C++ 手写一个 Brainfuck 的解释器:
char s[10000],*p=s; char*run(char*c,bool i=0) { while(*c!='\0'&&*c!=']') { if(*c=='+') { if(!i)++*p; } else if(*c=='-') { if(!i)--*p; } else if(*c=='>') { if(!i)++p; } else if(*c=='<') { if(!i)--p; } else if(*c=='.') { if(!i)putchar(*p); } else if(*c==',') { if(!i)*p=getchar(); } else if(*c=='[') { if(i)c=run(c+1,1); else { char*t; if(!*p)t=run(c+1,1); while(*p)t=run(c+1); c=t; } } ++c; } return c; }
把 Brainfuck 代码放进解释器里运行就好了。提交的代码如下:
#include<stdio.h> char s[10000],*p=s; char*run(char*c,bool i=0) { while(*c!='\0'&&*c!=']') { if(*c=='+') { if(!i)++*p; } else if(*c=='-') { if(!i)--*p; } else if(*c=='>') { if(!i)++p; } else if(*c=='<') { if(!i)--p; } else if(*c=='.') { if(!i)putchar(*p); } else if(*c==',') { if(!i)*p=getchar(); } else if(*c=='[') { if(i)c=run(c+1,1); else { char*t; if(!*p)t=run(c+1,1); while(*p)t=run(c+1); c=t; } } ++c; } return c; } int main() { char code[]="++++[>++++<-]>[>+++++>++++>++++++>+++>++<<<<<-]>>++++++++.>+++++.+++++++..+++.>----.>.<<<+++++.<++++++++.>++.-----.>>>+."; run(code); return 0; }
-
-7
题解
这是一道比较简单的c++基础题
首先我们要先建好头文件,并申请储存空间
#include<bits/stdc++.h> using namespace std;
主函数中我们运用输入输出流直接输出即可
cout << "Hello, MXOJ!" << endl;
完整Code
#include<bits/stdc++.h> using namespace std; int main(){ cout << "Hello, MXOJ!" << endl; return 0; }
别忘了点个赞再走呦(^▽^)
-
-7
码字不易,求赞
Code
#include <bits/stdc++.h> #define _ using #define __ namespace #define ___ std #define ____ ; #define _____ int #define ______ main #define _______ ( #define ________ ) #define _________ { #define __________ cout #define ___________ << #define ____________ "Hello, MXOJ!" #define _____________ ; #define ______________ return #define _______________ 0 #define ________________ ; #define _________________ } _ __ ___ ____ _____ ______ _______ ________ _________ __________ ___________ ____________ _____________ ______________ _______________ ________________ _________________
信息
- ID
- 1
- 时间
- 1000ms
- 内存
- 512MiB
- 难度
- 1
- 标签
- (无)
- 递交数
- 2874
- 已通过
- 1402
- 上传者