|
||||||||||
MAPTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 1064 Accepted Submission(s): 302 Problem Description Many people get information from Baidu¡¢Google¡¢Bing and so on. OK, now we will consider how to test the performance of a search system. The testing is based on an annotation file£¬annotation file consist of some query£¬every query has a query word and many reference URL. For example£¬¡°MM xxoo.com ooxx.com xoxo.com¡±£¬¡°MM¡±is the query word and ¡°xxoo.com ooxx.com xoxo.com¡±is the reference URL. If we search the query word from search system, we can also get a result list, and then we can test the search performance by the result list and annotation file. You job is calculate the MAP of the search performance. The definition of MAP is£º Rank: Position of a retrieved URL in the list of retrieved list. Precision at a given cut-off rank r for a single query: P(r) = (number of relevant URL of rank r or less) / r Average precision: defined as follows Where N is the number of retrieved URL, R is the number of relevant URL, and rel(r) = 1 if URL at rank r is relevant, 0 otherwise. Mean average precision: average precision for a set of queries is defined as follows: Where Q is the number of queries. Input The first line of input contains T, the number of test cases. For each test case start with a number n, the query number of annotation file. Then follows 2n lines, the first n lines are the annotation, every line means a query that has a word in front and the reference URL followed. The next n lines are the search result of the queries in annotation, every line means the search result of a query that has the search word in front and the retrieved URL followed. n <= 100. The length of a line <= 10000. The length of a URL and word <= 50. Output Case number ant the MAP value with 6 digits after decimal point. Sample Input
Sample Output
Author BJTU Source | ||||||||||
|