2019 IEEEXtreme 13.0 Impact Factor 影响因子

Impact Factor

题目大意

顾名思义,求影响因子。有 n 行 json 数据,第一行为期刊信息,后面为出版商出版的文章信息。

输入输出

点击查看详细 输入: 6 {"publications": [{"publicationTitle" : "Letters on IEEEXtreme", "publicationNumber" : "1","articleCounts" : [{"year" : "2017","articleCount" : "3"}, {"year" : "2018","articleCount" : "6"}]},{"publicationTitle" : "Journal of 24 hours programing", "publicationNumber" : "2","articleCounts" : [{"year" : "2017","articleCount" : "1"}, {"year" : "2018","articleCount" : "4"}]}]} {"publisher": "IEEE","title": "Publication Title 1","contentType": "periodicals","ieeeCitationCount": "4","publicationNumber": "15","paperCitations": {"ieee": [{"order": "1","articleNumber" : "41","publicationNumber" : "4","year" : "2018","title": "Article 41"},{"order": "2","articleNumber" : "109","publicationNumber" : "3","year" : "2015","title": "Article 109"},{"order": "3","articleNumber" : "135","publicationNumber" : "1","year" : "2018","title": "Article 135"},{"order": "4","articleNumber" : "97","publicationNumber" : "1","year" : "2016","title": "Article 97"},{"order": "5","articleNumber" :"31","publicationNumber" : "1","year" : "2015","title": "Article 31"},{"order": "6","articleNumber" : "89","publicationNumber" : "4","year" : "2018","title": "Article 89"},{"order": "7","articleNumber" : "9","publicationNumber" : "4","year" : "2018","title": "Article 9"},{"order": "8","articleNumber" : "26","publicationNumber" : "1","year" : "2015","title": "Article 26"},{"order": "9","articleNumber" : "117","publicationNumber" : "1","year" : "2015","title": "Article 117"},{"order": "10","articleNumber" : "35","publicationNumber" : "2","year" : "2019","title": "Article 35"},{"order": "11","articleNumber" : "9","publicationNumber" : "2","year" : "2016","title": "Article 9"},{"order": "12","articleNumber" : "61","publicationNumber" : "1","year" : "2017","title": "Article 61"},{"order": "13","articleNumber" : "75","publicationNumber" : "3","year" : "2019","title": "Article 75"},{"order": "14","articleNumber" : "25","publicationNumber" : "2","year" : "2019","title": "Article 25"},{"order": "15","articleNumber" : "56","publicationNumber" : "3","year" : "2016","title": "Article 56"}]}} {"publisher": "IEEE","title": "Publication Title 2","contentType": "periodicals","ieeeCitationCount": "2","publicationNumber": "28","paperCitations": {"ieee": [{"order": "1","articleNumber" : "14","publicationNumber" : "1","year" : "2018","title": "Article 14"},{"order": "2","articleNumber" : "105","publicationNumber" : "2","year" : "2017","title": "Article 105"},{"order": "3","articleNumber" : "130","publicationNumber" : "4","year" : "2017","title": "Article 130"},{"order": "4","articleNumber" : "61","publicationNumber" : "4","year" : "2019","title": "Article 61"},{"order": "5","articleNumber" : "115","publicationNumber" : "3","year" : "2015","title": "Article 115"},{"order": "6","articleNumber" : "84","publicationNumber" : "4","year" : "2015","title": "Article 84"},{"order": "7","articleNumber" : "57","publicationNumber" : "2","year" : "2018","title": "Article 57"},{"order": "8","articleNumber" : "96","publicationNumber" : "4","year" : "2019","title": "Article 96"},{"order": "9","articleNumber" : "9","publicationNumber" : "1","year" : "2017","title": "Article 9"},{"order": "10","articleNumber" : "67","publicationNumber" : "4","year" : "2018","title": "Article 67"},{"order": "11","articleNumber" : "114","publicationNumber" : "2","year" : "2016","title": "Article 114"},{"order": "12","articleNumber" : "59","publicationNumber" : "1","year" : "2015","title": "Article 59"},{"order": "13","articleNumber" : "118","publicationNumber" : "3","year" : "2015","title": "Article 118"},{"order": "14","articleNumber" : "61","publicationNumber" : "4","year" : "2016","title": "Article 61"},{"order": "15","articleNumber" : "79","publicationNumber" : "4","year" : "2017","title": "Article 79"},{"order": "16","articleNumber" : "83","publicationNumber" : "3","year" : "2018","title": "Article 83"},{"order": "17","articleNumber" : "24","publicationNumber" : "4","year" : "2016","title": "Article 24"},{"order": "18","articleNumber" : "48","publicationNumber" : "3","year" : "2015","title": "Article 48"},{"order": "19","articleNumber" : "11","publicationNumber" : "4","year" : "2019","title": "Article 11"},{"order": "20","articleNumber" : "125","publicationNumber" : "2","year" : "2019","title": "Article 125"},{"order": "21","articleNumber" : "64","publicationNumber" : "1","year" : "2016","title": "Article 64"},{"order": "22","articleNumber" : "25","publicationNumber" : "4","year" : "2016","title": "Article 25"},{"order": "23","articleNumber" : "27","publicationNumber" : "1","year" : "2015","title": "Article 27"},{"order": "24","articleNumber" : "100","publicationNumber" : "4","year" : "2019","title": "Article 100"},{"order": "25","articleNumber" : "108","publicationNumber" : "1","year" : "2018","title": "Article 108"},{"order": "26","articleNumber" : "82","publicationNumber" : "2","year" : "2017","title": "Article 82"},{"order": "27","articleNumber" : "22","publicationNumber" : "2","year" : "2016","title": "Article 22"},{"order": "28","articleNumber" : "113","publicationNumber" : "1","year" : "2015","title": "Article 113"}]}} {"publisher": "IEEE","title": "Publication Title 3","contentType": "periodicals","ieeeCitationCount": "4","publicationNumber": "23","paperCitations": {"ieee": [{"order": "1","articleNumber" : "75","publicationNumber" : "2","year" : "2016","title": "Article 75"},{"order": "2","articleNumber" :"88","publicationNumber" : "2","year" : "2018","title": "Article 88"},{"order": "3","articleNumber" : "12","publicationNumber" : "2","year" : "2016","title": "Article 12"},{"order": "4","articleNumber" : "90","publicationNumber" : "2","year" : "2015","title": "Article 90"},{"order": "5","articleNumber" : "126","publicationNumber" : "1","year" : "2017","title": "Article 126"},{"order": "6","articleNumber" : "12","publicationNumber" : "1","year" : "2018","title": "Article 12"},{"order": "7","articleNumber" : "7","publicationNumber" : "1","year" : "2017","title": "Article 7"},{"order": "8","articleNumber" : "49","publicationNumber" : "2","year" : "2015","title": "Article 49"},{"order": "9","articleNumber" : "54","publicationNumber" : "2","year" : "2019","title": "Article 54"},{"order": "10","articleNumber" : "133","publicationNumber" : "2","year" : "2019","title": "Article 133"},{"order": "11","articleNumber" : "3","publicationNumber" : "1","year" : "2017","title": "Article 3"},{"order": "12","articleNumber" : "23","publicationNumber" : "4","year" : "2015","title": "Article 23"},{"order": "13","articleNumber" : "5","publicationNumber" : "1","year" : "2016","title": "Article 5"},{"order": "14","articleNumber" : "8","publicationNumber" : "3","year" : "2019","title": "Article 8"},{"order": "15","articleNumber" : "1","publicationNumber" : "3","year" : "2016","title": "Article 1"},{"order": "16","articleNumber" : "129","publicationNumber" : "4","year" : "2019","title": "Article 129"},{"order": "17","articleNumber" : "57","publicationNumber" : "2","year" : "2019","title": "Article 57"},{"order": "18","articleNumber" : "106","publicationNumber" : "1","year" : "2016","title": "Article 106"},{"order": "19","articleNumber" : "67","publicationNumber" : "3","year" : "2015","title": "Article 67"},{"order": "20","articleNumber" : "42","publicationNumber" : "1","year" : "2019","title": "Article 42"},{"order": "21","articleNumber" : "14","publicationNumber" : "1","year" : "2015","title": "Article 14"},{"order": "22","articleNumber" : "76","publicationNumber" : "4","year" : "2018","title": "Article 76"},{"order": "23","articleNumber" : "134","publicationNumber" : "1","year" : "2016","title": "Article 134"}]}} {"publisher": "IEEE","title": "Publication Title 4","contentType": "periodicals","ieeeCitationCount": "1","publicationNumber": "21","paperCitations": {"ieee": [{"order": "1","articleNumber" : "126","publicationNumber" : "1","year" : "2015","title": "Article 126"},{"order": "2","articleNumber" : "35","publicationNumber" : "4","year" : "2017","title": "Article 35"},{"order": "3","articleNumber" : "7","publicationNumber" : "1","year" : "2016","title": "Article 7"},{"order": "4","articleNumber" : "116","publicationNumber" : "2","year" : "2018","title": "Article 116"},{"order": "5","articleNumber" : "58","publicationNumber" : "3","year" : "2015","title": "Article 58"},{"order": "6","articleNumber" : "24","publicationNumber" : "4","year" : "2018","title": "Article 24"},{"order": "7","articleNumber" : "136","publicationNumber" : "1","year" : "2015","title": "Article 136"},{"order": "8","articleNumber" : "29","publicationNumber" : "4","year" : "2019","title": "Article 29"},{"order": "9","articleNumber" : "118","publicationNumber" : "2","year" : "2015","title": "Article 118"},{"order": "10","articleNumber" : "102","publicationNumber" : "2","year" : "2015","title": "Article 102"},{"order": "11","articleNumber" : "41","publicationNumber" : "1","year" : "2019","title": "Article 41"},{"order": "12","articleNumber" : "87","publicationNumber" : "1","year" : "2017","title": "Article 87"},{"order": "13","articleNumber" : "61","publicationNumber" : "4","year" : "2019","title": "Article 61"},{"order": "14","articleNumber" : "91","publicationNumber" : "2","year" : "2017","title": "Article 91"},{"order": "15","articleNumber" : "88","publicationNumber" : "2","year" : "2015","title": "Article 88"},{"order": "16","articleNumber" : "83","publicationNumber" : "1","year" : "2019","title": "Article 83"},{"order": "17","articleNumber" : "103","publicationNumber" : "1","year" : "2017","title": "Article 103"},{"order": "18","articleNumber" : "107","publicationNumber" : "2","year" : "2015","title": "Article 107"},{"order": "19","articleNumber" : "81","publicationNumber" : "4","year" : "2016","title": "Article 81"},{"order": "20","articleNumber" :"76","publicationNumber" : "3","year" : "2018","title": "Article 76"},{"order": "21","articleNumber" : "31","publicationNumber" : "1","year" : "2017","title": "Article 31"}]}} {"publisher": "IEEE","title": "Publication Title 5","contentType": "periodicals","ieeeCitationCount": "2","publicationNumber": "15","paperCitations": {"ieee": [{"order": "1","articleNumber" : "28","publicationNumber" : "1","year" : "2017","title": "Article 28"},{"order": "2","articleNumber" : "1","publicationNumber" : "1","year" : "2018","title": "Article 1"},{"order": "3","articleNumber" : "109","publicationNumber" : "4","year" : "2018","title": "Article 109"},{"order": "4","articleNumber" : "82","publicationNumber" : "1","year" : "2016","title": "Article 82"},{"order": "5","articleNumber" : "83","publicationNumber" : "1","year" : "2017","title": "Article 83"},{"order": "6","articleNumber" : "136","publicationNumber" : "4","year" : "2018","title": "Article 136"},{"order": "7","articleNumber" : "36","publicationNumber" : "1","year" : "2018","title": "Article 36"},{"order": "8","articleNumber" : "83","publicationNumber" : "4","year" : "2015","title": "Article 83"},{"order": "9","articleNumber" : "132","publicationNumber" : "3","year" : "2018","title": "Article 132"},{"order": "10","articleNumber" : "83","publicationNumber" : "4","year" : "2016","title": "Article 83"},{"order": "11","articleNumber" : "51","publicationNumber" : "4","year" : "2015","title": "Article 51"},{"order": "12","articleNumber" : "37","publicationNumber" : "2","year" : "2015","title": "Article 37"},{"order": "13","articleNumber" : "112","publicationNumber" : "1","year" : "2016","title": "Article 112"},{"order": "14","articleNumber" : "16","publicationNumber" : "1","year" : "2015","title": "Article 16"},{"order": "15","articleNumber" : "2","publicationNumber" : "3","year" : "2019","title": "Article 2"}]}} 输出: Letters on IEEEXtreme: 1.78 Journal of 24 hours programing: 1.20

解题思路

C++ 来手工处理解析json 难度太大,考虑采用 Python 编程自动处理。

查阅百度百科

[影响因子 = frac {该期刊前两年的所有文章在该年被引用的次数之和} {该期刊前两年的所有文章数} ]

很容易得到分母由第一行信息处理得到,剩下部分看题面就有点搞不懂了。

尝试统计同一期刊后 n-1 行中某年出现的次数,发现两年之和组成了分子,于是直接把后面部分当做字符串,利用count函数统计子串出现次数即可。

AC代码

(几乎AC,可能排序有点小问题。要求先按照值降序再按照键升序)

import json
import operator

n = int(input())
publications = json.loads(input())
# print(publications)
# print(type(publications))
# for item in publications:
publications = publications["publications"]
# print(publications)

dic = dict()	# dic[publicationNumber] = publicationTitle
B = dict()		# 每一种期刊计算的分母
year = dict()
for item in publications:
	# print(item)
	# print(type(item))
	dic[item["publicationNumber"]] = item["publicationTitle"]
	cnt = 0
	for article in item["articleCounts"]:
		cnt += int(article["articleCount"])
		if item["publicationNumber"] not in year.keys():
			year[item["publicationNumber"]] = [article["year"]]
		else:
			year[item["publicationNumber"]].append(article["year"])
	# print(cnt)
	B[item["publicationNumber"]] = cnt

# print(dic)
# print(B)
# print(year)

# str = ""publicationNumber" : "" + num + "","year" : "" + year 

# 读取后 n 行 作为一个字符串
info = ""
for i in range(n-1):
	info += input()
	# info.append(json.loads(input()))
	# print(info[i])
# print(info)


Ans = dict()	# 每一种期刊计算的分子
for k, v in dic.items():
	cnt = 0
	for y in year[k]:
		str = ""publicationNumber" : "" + k + "","year" : "" + y
		cnt += info.count(str)
	Ans[k] = cnt / B[k]

# print(Ans)

AAns = dict()
for k, v in Ans.items():
	AAns[dic[k]] = v

# 排序
AAns = sorted(AAns.items(), key=operator.itemgetter(0, 1), reverse=False)
for (k, v) in AAns:
	print("%s: %.2lf" % (k, v))



(Python水平还有待提高。。。)

原文地址:https://www.cnblogs.com/izcat/p/11707780.html