社区讨论

本地测样例能过,洛谷IDE显示样例RE,评测结果全RE……

P1030[NOIP 2001 普及组] 求先序排列参与者 3已保存回复 6

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
6 条
当前快照
1 份
快照标识符
@locfluct
此快照首次捕获于
2023/10/30 13:00
2 年前
此快照最后确认于
2023/11/05 00:37
2 年前
查看原帖
CPP
#include<cstdio>
#include<string>
using namespace std;
string readstr(int mode){
    string ans="";
    char tmp;
    while(1){
        tmp=getchar();
        if(!(tmp>=33&&tmp<=126)&&mode==1||(tmp=='\n'||tmp=='\r'||tmp==EOF)&&mode==2||tmp==EOF&&mode==3)
            break;
        else
            ans+=tmp;
    }
    return ans;
}
void writestr(string a){
    for(int i=0;i<a.size();i++)
        putchar(a[i]);
}
string work(string b,string c){
	if(b.size()<=1)
		return b;
    char root=c[c.size()-1];
    int root_pos=b.find(root);
    string leftb=b.substr(0,root_pos);
	string leftc=c.substr(0,root_pos);
	string rightb=(root_pos+1>=b.size()?"":b.substr(root_pos+1,b.size()-root_pos-1));
	string rightc=c.substr(root_pos,b.size()-root_pos-1);
    return root+work(leftb,leftc)+work(rightb,rightc);
}
int main(void){
    string b,c;
    b=readstr(2);
    c=readstr(2);
    writestr(work(b,c));
    return 0;
}

回复

6 条回复,欢迎继续交流。

正在加载回复...