Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

写个经验贴

Posted by ecust_linpeng at 2009-08-25 21:17:30 on Problem 3746
我用的是qsort+二分查找+模拟缩小范围。
首先读入字典,然后qsort,然后弄一个二分查找函数,返回词性种类(1,2,3,4,5,6,7,8,9)
随你自己分配。
然后就是模拟缩小范围,本来想用if写出所有的可能,不过貌似总数很恐怖。。。
就用了缩小范围,我把所有的词语都转换成了数字,存在一个数组中,处理起来比较方便。
1然后先找出A prepositional phrase 合法不合法,合法的话删掉该几个词。
2然后处理动词,看动词前面的adv合法不合法,合法的话把adv删掉。
3然后处理主语,是noun或pren合法不合法,合法的话把noun都换成pren,
4最后最后剩下的只有两种情况了
a. pren + vi
b. pren + vt + pren
只要两个if一下就可以了,合法的就是上面没有多余的词,
比如:
"n.", "pron.", "adj.", "adv.", "prep.", "art.", "vt." and "vi.","v.", 
分别种类为1,2,3,4,5,6,7,8,9
He see a baby immediately.
先转换为 2,7,6,1,4;
1处理没有A prepositional phrase 
2发现adv不合法。
At the airport, he see a happy baby.
先转换为5,6,1,2,7,6,3,1
1处理发现A prepositional phrase ,处理后变成2,7,6,3,1
2处理adv,没有adv
3处理主语,处理后变为2,7,2
4符合b种语法,就是合法的。

Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator