长尾关键词网站,国内免费无版权图片素材网站,做视频网站虚拟主机怎么选,wordpress能做成app吗测谎通常使用一套准备好的问题提问被测试者#xff0c;通过分析被测试者的反应得到结果。比较高级的测谎技术会使用测谎仪#xff0c;监视被测试者的生理活动状况。我们这里的简易测谎则是通过对问题答案的特征分析来做出判断。
首先我们要求被测试者做完 N 道单选题#x…测谎通常使用一套准备好的问题提问被测试者通过分析被测试者的反应得到结果。比较高级的测谎技术会使用测谎仪监视被测试者的生理活动状况。我们这里的简易测谎则是通过对问题答案的特征分析来做出判断。
首先我们要求被测试者做完 N 道单选题每道题有 8 个选项由小写英文字母 a - h 来表示。这样就得到一个长度为 N 的、由 a - h 小写英文字母组成的字符串。对每个字符串打分得分超过某个给定阈值 T 的就判断为“疑似说谎者”。打分原则如下
以 f 开头的得分 −2 以 a 结尾的得分 −1 对于每一段长度大于 5 的连续选择同一字母的最长子串得分 3 a 后面紧跟 e 或 h 的得分 −4 对于每一段长度大于 3 的连续选择相邻递增字母的最长子串例如 abcd 或 defgh得分 5。 本题就请你写程序完成对被测试者的判断。
输入格式 输入第一行给出 3 个正整数N6≤N≤100为测谎问卷的题目数T ≤100为判断说谎的得分阈值K≤100为被测试者人数。
随后 K 行每行给出一个被测试者的答案字符串。
输出格式 对每个被测试者的答案在一行中输出其得分。如果分数超过阈值则在其分数后输出 !!!。
输入样例 12 1 6 fghaebcdeddd ahhhhhhgbaaa cdefffffffff fffffghecaaa feeeeeeeegcb aaaaaabbbbbb 输出样例 -1 -2 8!!! -3 1 6!!! 解题思路按照题目给出的5个条件逐条判断是否满足然后进行分数的加减即可。 #includebits/stdc.h
using namespace std;
int main()
{int n,t,k;cinntk;for(int i0;ik;i){int score 0;string s;cins;if(s[0]f) //第一个条件 scorescore-2;if(s[n-1]a) //第二个条件 scorescore-1;int j 0;while(j(int)s.length()) //第三个条件 {char c s[j]; int x j1;while(s[x]c)x;if(x-j5){score score3;}j x;}for(int j0;j(int)s.length();j) //第四个条件 {if(s[j]a(s[j1]e||s[j1]h))score score-4;} for(int j0;j(int)s.length()-4;j) //第五个条件只要超过4个就可以5分 {if(s[j1]s[j]1){if(s[j2]s[j1]1){if(s[j3]s[j2]1){score score5;}}}}if(scoret)coutscore!!!endl;elsecoutscoreendl;}
}