zzuliOJ 2536: 绿绿学姐与AI 1
題目網址:http://acm.zzuli.edu.cn/problem.php?id=2536
1、題目
2536: 綠綠學姐與AI 1
時間限制: 2 Sec??內存限制: 128 MB
提交: 176??解決: 34
[狀態] [討論版] [提交] [命題人:zzuliacm]
題目描述
綠綠學姐對機器學習很感興趣,她開始研究機器學習算法。
她研究的第一個問題是語義識別,當她花了十分鐘完全掌握之后,發現她手上沒有訓練樣本,于是她把這個任務交給了你,如果你出色地完成了她的任務,就可以吸收她的歐氣。
綠綠學姐給你的任務是這樣的:
她會給你n個詞語,其中前a個是正面的詞語,剩下的b個是負面的詞語,隨后給出Q個句子,你需要輸出這個句子偏向負面還是正面。
假設一個句子包含x個正面的詞語,y個負面的詞語,如果x>y,我們就說這個句子偏向正面,如果x<y,我們就說這個句子偏向負面,如果x==y,我們就說這個句子是中性的。
輸入
一個數T,表示數據的組數,1<=T<=50。
每組數據第一行包含三個整數n,a,b,含義如上所述,1<=n<=5000, 1<=a,b<=n,保證a+b==n,。
隨后是n行,每行一個詞語。
隨后一個整數Q,表示Q個句子,1<=Q<=500。
隨后Q行,每行一個句子,句子長度不超過1000。
詞語長度不超過20,并且只包含小寫字母,句子由若干個用一個空格隔開的詞語構成。
輸出
對于每一個句子輸出一行。
如果句子是偏正面的,輸出"positive"。
如果句子是偏負面的,輸出"negative"。
如果句子是中性的,輸出"neuter"。(輸出均不包含引號)
樣例輸入 Copy
1 5 2 3 happy glad sad sorry cry 3 you are happy you are sad you are student樣例輸出 Copy
positive negative neuter來源/分類
?2017湖南工業大學校賽
2、C++題解代碼
#include <iostream> #include <cstdio> #include <cstdlib> #include <map> #include <string> #include <algorithm> using namespace std;map<string, int> words;int main() {int t;scanf("%d", &t);while (t--){int n, a, b;string str;scanf("%d%d%d", &n, &a, &b);for (int i = 1; i <= n; i++){cin >> str;words.insert(make_pair(str, i));}int Q;scanf("%d", &Q);while (Q--){int ans = 0;while (cin >> str){map<string, int>::iterator it;it = words.find(str);if (it != words.end()){if (it->second <= a)ans++;elseans--;}if (getchar() == '\n')break;}if (ans > 0)puts("positive");else if (ans < 0)puts("negative");elseputs("neuter");}words.clear();}return 0; }總結
以上是生活随笔為你收集整理的zzuliOJ 2536: 绿绿学姐与AI 1的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: zzuliOJ【土豪婷婷请吃饭】【解法:
- 下一篇: Matlab图像处理创新实践-实验1【图