作者anfranion (安弗尼恩)
看板b97902HW
标题[讨论] 使徒七
时间Wed Oct 29 01:39:16 2008
[Finished 欢迎大家一起来问问题or讨论唷>.^]
B97902006 anfranion
B97902037 ming1053
B97902044 telgniw
B97902112 averangeall
B97902113 sa072686
B97902114 rewqrewwq
B97902115 godgunman
B97902116 drazi
[提供资讯]
1. 变数名称之类的可能有数字
2. 排序可以使用O(n^2)的
3. 阵列开不够大可能会9分
4. 变数followed by \n也要注意
有几个特别的地方想讲一下,所以要放这个′▽`)
**********************防雷分隔线************************
1. 简而言之,题目到底是什麽?
不要像我一样复杂化问题了(就这样吃了N次零分囧),这题简而言之就是
找出连续的_、A~Z、a~z,以及0~9(但是不可以在字首)
然後纪录所在行数(同时要注意在同一行出现的情形)
以及最後按照字典顺序(也就是ascii码的大小顺序)输出
(Ex : i, j, io, hello, h0, h1按照字典顺序排完是h0, h1, hello, i, io, j)
2. 输出时按照字典顺序?
要做到这点有两个办法,第一个是排序
第二个则是不要排序,直接每次都找最小的输出
排序的话会比较麻烦,但是可以有技巧地利用「索引」来排序。
所谓的索引呢,就是排序时比较的对应编号的内容,但是移动的是索引阵列
比如说刚刚那个用索引编号:
1: i
2: j
3: io
4: hello
5: h0
对应关系做好了之後
在比较的时候,我们移动的就是索引,但是还是比较字串的字典顺序
(可以利用strcmp(字串1, 字串2);)
刚刚那个排完了之後,会得到这样的索引阵列:
5 4 1 3 2
这样我就知道 编号五的要第一个印出 所以是h0
编号4的第二,所以是hello
以此类推
如果这部分看不懂的话也没关系,每次去找最小的印也是一个很好的办法;)
大致就是这样 欢迎大家一起讨论唷′▽`)
**********************************************
我终於懂文末防雷页是干嘛的了XD
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.116.50.107
※ 编辑: anfranion 来自: 122.116.50.107 (10/29 01:41)
1F:推 ming1053:XDD 然後还有抢头香的蜥蜴 10/29 01:42
2F:推 dreamoon:希望若有人九分变十分说一下有什麽该注意的地方 10/29 01:54
3F:推 dreamoon:(若是砍掉重练就不需要了) 10/29 01:55
4F:推 MacacaXDrz:我还在9分中orz 10/29 01:57
5F:推 dh3014:似乎 io 要在 j 的前面? 10/29 01:58
6F:→ dh3014:喔,会错意了 没事XD 10/29 01:58
7F:推 sa072686:文末防雷是防看推文也中枪或是直接end也中枪的XD 10/29 02:01
8F:→ sa072686:四楼的9分是错在阵列不够大,大家检查一下吧 10/29 02:26
9F:推 MacacaXDrz:Q︿Q,我的6个9分orz 10/29 02:27
10F:→ sa072686:最多有1000行,不同於变数名和单行长度的100,大家小心喔 10/29 02:27
11F:→ sa072686:就是说某变数每行都出现,则可能有1000个数字的意思 10/29 02:27
12F:推 ming1053:我和Macaca都爆过楼上这个= = 全开1010就不用担心啦 10/29 02:27
13F:推 sa072686:这应该不算心机XD 二楼要不要检查一下? 10/29 02:33
14F:推 dreamoon:对了~我的九分是爆在变数 is followed by '\n'时会出问题 10/29 02:34
※ 编辑: anfranion 来自: 122.116.50.107 (10/29 02:40)
※ 编辑: anfranion 来自: 122.116.50.107 (10/29 02:40)
15F:→ sa072686:本来想推蜥蜴继断尾後又被腰斩XDDD 10/29 02:41
16F:推 telgniw:1000个数字QQ 10/29 09:03
17F:→ telgniw:害我弄到一点才放弃 10/29 09:04
18F:推 benck:10个人AC了= =" 天啊 10/29 09:21
※ 编辑: anfranion 来自: 140.112.30.134 (10/29 15:53)
19F:推 averangeall:不好意思 我想问个问题 10/29 17:28
20F:→ averangeall:就是说 一般我们都写 k = i + j; 10/29 17:28
21F:→ averangeall:测资里有可能会有 k=i+j; 吗 10/29 17:28
22F:推 telgniw:也有很多人是写k=i+j;吧 10/29 17:39
23F:→ telgniw:对了我想问正常程式码什麽时候会出现变数followed by '\n' 10/29 17:41
24F:推 LoganChien:B97902073 简子翔完成。 10/29 17:54
25F:→ LoganChien:To 楼上上,分号写在下一行的时候。 10/29 17:56
26F:→ LoganChien:不过这样算不算正常的程式码就... 见人见智了... 10/29 18:03
27F:推 averangeall:再请问一下 出现像是 printf 之类 要印吗 10/29 18:06
28F:→ LoganChien:printf 要吧。至少我的程式会算&印。 10/29 18:10
29F:推 averangeall:谢谢 10/29 18:10
30F:推 averangeall:再请问一下 NULL 也要印吗 10/29 18:25
31F:推 drazi:变数followed by '\n'会在呼叫一个1x个参数的function 10/29 18:27
32F:推 drazi:看到 这时通常会一个变数摆一行 10/29 18:27
33F:→ sa072686:这样通常是followed by ','吧? 10/29 19:19
34F:推 drazi:sa你好怪...... , 通常是放前面喔~ 10/29 20:49
35F:推 telgniw:咦我也是followed by ','耶 10/29 21:24
36F:推 drazi:囧那是我怪XDDDD 10/29 21:26
37F:推 rewqrewwq:我也是followed by ','耶 10/29 21:49
38F:推 ckclark:NULL是在stdio里面定义的 非保留字 10/29 21:51
39F:→ ckclark:更正 libio.h 10/29 21:53
40F:推 LoganChien:stdlib.h ? 10/29 21:55
41F:→ ckclark:看机器吧 总之他不是保留字 10/29 22:07
42F:→ LoganChien:(我少见多怪 =_=q) 补:测资的保留字只有题目列出的。 10/29 22:23
43F:推 dh3014:应该说 你只要忽略题目列出的保留字,其他符合syntax都要印 10/29 22:26
44F:→ averangeall:是 谢谢回答 10/29 22:34
45F:推 xflash96:follow by none...全用strtok的割分字串切掉了... 10/29 22:40
46F:推 averangeall:真开心 忙了半天 112林自均AC了 谢谢强者们 10/29 23:08
※ 编辑: anfranion 来自: 122.116.50.107 (10/29 23:51)
※ 编辑: anfranion 来自: 122.116.50.107 (10/29 23:53)