专栏文章
对拍Linux实现
科技·工程参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @miqyufov
- 此快照首次捕获于
- 2025/12/04 12:58 3 个月前
- 此快照最后确认于
- 2025/12/04 12:58 3 个月前
准备
- 正确代码 / 待拍代码 各一份(apple_bl.cpp / apple.cpp)
- 数据生成器(make.cpp)
使用 C++ 生成


- 对拍脚本(DP.sh)
解释如下:g++ apple_bl.cpp -o apple_bl
g++ apple.cpp -o apple
g++ make.cpp -o make
# 编译生成可执行程序
while true
do
./make > 1.in
./apple_bl < 1.in > right.out
./apple < 1.in > wrong.out
# 生成数据并且产生输出
diff -Z right.out wrong.out
if [ $? -ne 0 ]; then
echo "" # 换行用
cat 1.in
echo ""
break
fi
# 比较,不同则输出产生不同的输入输出
done
$?是上一个语句产生的返回值(上面就是diff函数返回的,不同:1 / 相同:0)-ne相当于!=- 获取可执行权限
chmod +x DP.sh- 运行
在终端(Linux 终端或 VScode终端)输入
./DP.sh运行。- 效果
或者直接在1.in和right.out / wrong.out查看。相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...