云南建站,初中信息科技怎么自己做网站,dedecms改WordPress,安徽湖滨建设集团网站L1-088 静静的推荐 - 团体程序设计天梯赛-练习集 (pintia.cn)
题解
这里代码很简单#xff0c;但是主要是循环里面的内容很难理解#xff0c;下面是关于循环里面的内容理解#xff1a;
这里 n 10 表示有 10 个学生#xff0c;k 2 表示企业接受 2 批次的推荐名单#…L1-088 静静的推荐 - 团体程序设计天梯赛-练习集 (pintia.cn)
题解
这里代码很简单但是主要是循环里面的内容很难理解下面是关于循环里面的内容理解
这里 n 10 表示有 10 个学生k 2 表示企业接受 2 批次的推荐名单s 90 表示企业的 PAT 面试分数线。
下面我们逐行分析循环里的代码 while(n--) 这个循环会执行 n 次每次处理一个学生的成绩。每执行一次循环n 的值就会减 1直到 n 变为 0 时循环结束。 cinxy; 每次循环开始时从输入中读取一个学生的天梯赛分数 x 和 PAT 分数 y。 if(x175) 判断该学生的天梯赛分数是否不低于 175 分。只有满足这个条件该学生才有可能被推荐。如果不满足就跳过这个学生继续处理下一个学生。 例如当读取到 169 91 时因为 x 169 175所以这个学生不满足基本条件不会进入后续的判断。 if(ys) 如果该学生的天梯赛分数不低于 175 分接着判断其 PAT 分数是否达到或超过企业的面试分数线 s。如果满足这个条件那么这个学生一定可以被推荐将 count 的值加 1。 例如当读取到 175 90 时x 175 175 且 y 90 90所以这个学生可以被推荐count 从 0 变为 1。 再如当读取到 256 100 时x 256 175 且 y 100 90count 再加 1变为 2。 else if(score[x]k) 如果该学生的天梯赛分数不低于 175 分但 PAT 分数未达到面试分数线那么就检查该天梯赛分数之前被推荐的次数 score[x] 是否小于企业接受的推荐批次 k。如果小于说明该天梯赛分数还可以再推荐一次将 score[x] 的值加 1 表示该分数又被推荐了一次同时将 count 的值加 1。 例如当读取到 175 88 时x 175 175 但 y 88 90此时 score[175] 初始值为 00 2所以该学生可以被推荐。score[175] 变为 1count 变为 3。 当再次读取到 175 0 时同样 x 175 175 且 y 0 90此时 score[175] 1 2该学生也可以被推荐。score[175] 变为 2count 变为 4。 当又读取到一个 175 分但 PAT 分数小于 90 的学生时因为 score[175] 2 已经不小于 k 2 了所以这个学生就不能被推荐了。
代码
#includebits/stdc.h
using namespace std;
int main(){int n,k,s;cinnks;int x,y;int count0;int score[291]{0};for(int i0;in;i){cinxy;if(x175){if(ys){count;}else if(score[x]k){score[x];count;}}}coutcount;return 0;
}