第二周实验

第二周实验:

A-  
化学:

通过输入原子之间的化学键来区别五种不一样的烷烃基

思路:观察五种烷烃基,发现他们之间的区别,利用到图中各点的度数来进行区分

①   
n-hexane 中最大度数为2,这可以将它与其他区分开来

②   
2- methylpentane中最大度数为3,只有一个点

③   
3- methylpentane 中最大度数为3,只有一个点(此时出现相同特征无法区分)

④   
2,3- dimethylbtane中最大度数为3,有两个点(可以通过读书为3的点有两个区分)

⑤   
2,2 dimethylbtane
中最大度数为4,也可唯一确定

那么我们再次观察③和④,发现③中存在的两条边一边链接度数为1的点另一边链接度数最大的点,而④中不存在这样的点,即可区分

用以上方法进行输入以及统计各个点的度用count数组表示

以上统计出最大点的度数

可以区分出②和⑤

如果最大度数为3

如果有两个点度数都为3,则判断出来

如果都为1的话则通过以下函数判断:

B-   
罚时排名

首先明白每个人的罚时的计算方法,每道题如果是正数则表示ac所用时间,如果是负数表示还没ac,这部分不用加进去。如果是一个正数接着一个括号,括号内则为他的错误提交次数,这部分作为罚时计算进去。

例如:

他的成绩为:96+40+1+3*20=197

思路:因为输入的学生人数没提前告诉,则需要

来判断是否还有输入

用sscanf来判断读到的数的个数,如果是两个则说明存在罚时需要计算,如果只读到一位数需要判断正负,如果是负数则不需要相加。

接着就是排序问题,先按照ac的题目数,再次是罚时,然后再是字典序,排序函数如下:

C-打牌游戏

题目描述:四个人按东南西北顺序坐下,顺时针发牌,指定发牌人发牌时从顺时针下一位开始发,然后将四个人的牌按花色排序,C<D<S<H,然后再按照大小排序2<3<4<5<6<7<8<9<T<J<Q<K<A

思路:

首先写出他的排序方式,排序函数如图:(由于map掌握不太好,就暴力写了)

注意:在排列大小时,要在if(a.hua==b.hua)的情况下排序

然后就是发牌,将E S W N分别对应0
1 2 3,输入发牌者之后,得到第一个拿牌者,然后将牌分到四个人手中,代码如下:

作业:

①   
迷宫问题

典型的bfs问题,利用队列进行搜索,每到一个点,对他的上下左右分别进行搜索,如果搜索到不为边界,没有走过i,以及可以通行,则标记该点,用path记录,最后,当走到4,4时即表明走到了出口

最后递归输出,也可以记录前一个点(我没用这种方法)

一定一定要注意省题(又因为逗号后的空格改了很久)。。。。。。。

②   
倒水问题

这道题目看起来比较容易但是其实很复杂(尤其是对我这种贼粗心的人来说)

第一看错题觉得是都要装满。。。然后就two thousands later。。。

瓶子a或b装c水,其实如果能把a的情况考虑完全,则B完全同理

操作有:1,倒空A

2.倒满A(这里需要考虑是倒空B还是没有)

同样用到bfs对各个情况考虑,用map记录当前状态和上一状态,直到

完成。

最后同样递归输出:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值