陕西建设系统个人信息查询网站,wordpress 菜单 固定,公司网站建设和推广,微企免费网站建设一、题目 二、解题思路
如果有的学生天梯赛成绩虽然与前一个人相同#xff0c;但其参加过 PAT 考试#xff0c;且成绩达到了该企业的面试分数线#xff0c;则也可以接受——同一批次这样的人可以有多个#xff01;#xff01;#xff01;如果 pta 分数不低于 175 #…一、题目 二、解题思路
如果有的学生天梯赛成绩虽然与前一个人相同但其参加过 PAT 考试且成绩达到了该企业的面试分数线则也可以接受——同一批次这样的人可以有多个如果 pta 分数不低于 175 则相同分数的前 k 个人都会被推荐如果 pta 分数不低于 175 并且 pat 成绩达到了该企业的面试分数线也会被推荐。
三、代码 正确代码
#includeiostream
using namespace std;
int main()
{int n,k,s,a[300],cot0;cinnks;for(int i175;i300;i){a[i]0;}while(n--){int x,y;cinxy;if(x175 a[x]k){a[x];cot;}else if(x175 ys){cot;}}coutcot;return 0;
} 以下代码可以得到每个批次的人的 pta,pat 分数虽然在这个题目中没有必要但解决这个题目最后两个测试点会运行超时
//最后两个测试点超时
#includeiostream
using namespace std;
//分数和状态
struct Student
{int pta,pat;bool flagtrue;
}a[100005];
int main()
{int n,k,s,nn0;cinnks;
// 输入分数并将 pta 分数低于 175 的排除掉 for(int i0;in;i){int x,y;cinxy;if(x175){a[nn].ptax;a[nn].paty;nn;} }nnn;
// 按照 pta 分数从低到高排序若pta 分数相同当 pat 分数达到了面试分数线时排在后边 for(int i0;in-1;i){for(int j0;jn-i-1;j){if(a[j].ptaa[j1].pta || (a[j].ptaa[j1].pta a[j].pats)){struct Student t;ta[j];a[j]a[j1];a[j1]t;}}}
// 模拟 int cot0;while(k--){for(int i0;in;i){if(a[i].flag){cot;a[i].flagfalse;for(int ji1;jn;j){if(a[j].ptaa[i].pta a[j].pats a[j].flag){cot;a[j].flagfalse;}else if(a[j].ptaa[i].pta){ij-1;break;}}
// for(int ji1;jn;j)
// {
// if(a[j].ptaa[i].pta)
// {
// for(int jjj-1;jji;jj--)
// {
// if(a[jj].pats a[jj].flag)
// {
// cot;
// a[jj].flagfalse;
// }
// }
// ij-1;
// break;
// }
// } }}}coutcot;return 0;
}
四、总结
最开始理解错了题意如果有的学生天梯赛成绩虽然与前一个人相同但其参加过 PAT 考试且成绩达到了该企业的面试分数线则也可以接受——同一批次这样的人可以有多个误以为这样的人只会有一个导致想复杂了。复杂的思路可以得到每个批次的人的 pta,pat 分数虽然在这个题目中没有必要但解决这个题目最后两个测试点会运行超时。