Skip to main content

· 2 min read
Neetanol

测试程序仓库地址#

https://github.com/Neetanol/HNU-CloudComputingLab-Lab1_test

环境依赖#

python3 即可

功能说明#

本测试程序主体是 Judgement_Lab1_czq_v1.py 测试过程中,仅需要将你编译完成的可执行文件放到Judgement_Lab1_czq_v1.py的相同文件目录下。 本地测试时可以根据自己的测试需求修改测试代码和数独题目源文件。 测试包括:

  • 验证正确性
  • 相对于助教给的可执行文件的性能(运行时间之商)

测试结果仅供参考,不代表最终分数

使用前准备#

安装python3#

安装指令 sudo apt install python3 检查安装好的python3版本 python3 --version

确认运行环境#

确认你准备进行测试的目录下有 Judgement_Lab1_czq_v1.py puzzles 文件夹 TA_sudoku_solve sudoku_solve 或者可正确执行 make 指令的 相关文件(如Makefile)

C++ Makefile文件写法示例#

CXXFLAGS+=-O2 -ggdb -DDEBUGCXXFLAGS+=-Wall -Wextra
all: sudoku_solve
sudoku_solve: ./src/remake_main.cpp ./src/sudoku_dancing_links.cpp    g++ -std=c++11 -O2 -o $@ $^ -lpthread

执行测试#

python3 Judgement_Lab1_czq_v1.py

一般来说本地自测就不需要动puzzles文件夹了,助教给的用例足够测出性能趋势

文件目录&说明#

初始状态下的文件目录#

.├── Judgement_Lab1_czq_v1.py├── TA_sudoku_solve         # 助教的可执行文件├── puzzles                 # 数独题目文件的文件夹,里面的文件名字无所谓│   ├── 7.in                # 只要内容文本能打开就行│   ├── 70.in               # 本测试程序没有做输入文件的数独内容合理性检查│   ├── 700.in              # 如果使用自己的数据进行测试,请确保数独题目没有多种解│   ├── 7000.in│   └── 70000.in└── readme.md

运行后目录#


.├── Judgement_Lab1_czq_v1.py├── TA_sudoku_solve         # 助教的可执行文件├── sudoku_solve            # 你自己的可执行文件,如果没有则确保你在该目录下有 Makefile 文件├── puzzles                 # 数独题目文件的文件夹│   ├── 7.in│   ├── 70.in│   ├── 700.in│   ├── 7000.in│   └── 70000.in├── case_info               # 测试程序根据puzzles自动生成的测试用例,供查验│   ├── advanced_case_1.txt│   ├── ...│   ├── advanced_case_5.txt│   ├── basic_case_1.txt│   ├── ...│   └── basic_case_5.txt├── TA_answers              # 助教的可执行文件运算完的结果重定向到这里,供查验│   ├── advanced_case_1.out│   ├── ...│   ├── advanced_case_5.out│   ├── basic_case_1.out│   ├── ...│   └── basic_case_5.out├── student_answers         # 你的可执行文件运算完的结果重定向到这里,供查验│   ├── advanced_case_1.out│   ├── ...│   ├── advanced_case_5.out│   ├── basic_case_1.out│   ├── ...│   └── basic_case_5.out└── (Maybe) Makefile        # 如果你没有在这个目录下存放可执行文件,请确保你的make指令是可用的

正确运行后的情形#

neetanol@DESKTOP-NOGOUCK:/mnt/f/workspace/Lab1_test$ python3 ./Judgement_Lab1_czq_v1.py Totally load 5 sudoku files.Lab1 Basic test:basic_case_1: state is accept! student used 10 ms. Performance score: 0.80basic_case_2: state is accept! student used 10 ms. Performance score: 0.99basic_case_3: state is accept! student used 15 ms. Performance score: 1.00basic_case_4: state is accept! student used 67 ms. Performance score: 0.96basic_case_5: state is accept! student used 595 ms. Performance score: 1.01Accept 5/5 cases. Reference performance score is 0.952183.Lab1 Advanced test:advanced_case_1: state is accept! student used 9 ms. Performance score: 1.02advanced_case_2: state is accept! student used 12 ms. Performance score: 0.91advanced_case_3: state is accept! student used 18 ms. Performance score: 1.01advanced_case_4: state is accept! student used 78 ms. Performance score: 0.97advanced_case_5: state is accept! student used 644 ms. Performance score: 1.00Accept 5/5 cases. Reference performance score is 0.981851.

· One min read
CBW

开发中常用操作

/global/home/users/rdmaworkshop05/.ssh/id_rsa

删除文件:git rm 文件名[删除本地git仓库文件, 提交后远程服务器上的文件才会消失]

查看状态:git status

添加记录:git add 文件名 或 git add . [将文件提交到远程git服务器上]

添加描述:git commit -m "描述或备注类似svn提交时的注释"

同步数据:git pull [获取git远程服务器上的数据也可以具体到某一分支如: git pull origin 分支名]

提交数据:git push origin 分支名

验证账号:

ssh-agent bash

ssh-add ~/.ssh/id_rsa

ssh -T git@github.com

分支操作

查看分支:git branch

创建分支:git branch 分支名

切换分支:git checkout 分支名

创建+切换分支:git checkout -b 分支名

合并某分支到当前分支:git merge 分支名

  [比如,如果要将开发中的分支(deve),合并到稳定分支(master), 首先切换的master分支:git checkout master。 然后执行合并操作:git merge deve。 如果有冲突,会提示你,调用git status查看冲突文件。 解决冲突,然后调用git add或git rm将解决后的文件暂存。 所有冲突解决后,git commit 提交更改。]

删除自上次commit后所有更改

git reset --hard

代码冲突解决办法#

有两种

  1. git stash #将自己的改动放入堆栈git pullgit stash pop #复原自己的更改

    保留原代码改动,拉新代码。

  2. 强行用代码库中文件完全覆盖本地工作版本。本地的更改会丢失

    git reset --hardgit pull

ssh key:#

https://blog.csdn.net/u013778905/article/details/83501204

GitHub配置SSH Key的目的是为了帮助我们在通过git提交代码时,不需要繁琐的验证过程,简化操作流程。

Ssh key 存放路径:

~/.ssh/id_rsa.pub

分区

  三个分区:工作区,缓存区,版本库

  三个分区之间的联系:

    工作区 >> git add >> 缓存区 >> git commit >> 版本库

输入命令

  >a(新建文件夹a)

  git status

· One min read
Neetanol

今天开始写个人站!

新的开始