社区讨论
关于 ASCII 0
P1030[NOIP 2001 普及组] 求先序排列参与者 2已保存回复 1
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @lq6ra8e3
- 此快照首次捕获于
- 2023/12/15 23:00 2 年前
- 此快照最后确认于
- 2023/12/15 23:07 2 年前
已知本地测试无异常,算法在其他 OJ 上评测正常。
Wrong Answer because:
CPPWrong Answer.wrong answer On line 1 column 1, read (ASCII 0), expected A.
CPP#include <bits/stdc++.h>
using namespace std;
#define int long long
const int N = 2e5 + 5;
string a, b;
struct node {
char c;
int l, r;
} t[N];
int cnt;
int search(int la, int ra, char x) {
for(int i = la; i <= ra; i++)
if(a[i] == x) return i;
return -1;
}
int work(int la, int ra, int lb, int rb) {
if(la > ra || lb > rb) return 0;
int m = search(la, ra, b[rb]), s1 = (m - 1) - la + 1, s2 = ra - (m + 1) + 1, tmp = (++cnt);
t[tmp] = {b[rb], work(la, m - 1, lb, lb + s1 - 1), work(m + 1, ra, (rb - 1) - s2 + 1, rb - 1)};
return tmp;
}
void dfs(int x) {
cout<<t[x].c;
if(t[x].l) dfs(t[x].l);
if(t[x].r) dfs(t[x].r);
}
signed main() {
cin>>a>>b;
work(0, a.length(), 0, a.length());
dfs(1);
cout<<endl;
return 0;
}
回复
共 1 条回复,欢迎继续交流。
正在加载回复...