【编程题目 |100分】考勤信息【2021, 2022H1 考试题 2023 Q2考试题 B卷】
时间限制:C/C++ 1秒,其他语言 2秒
空间限制:C/C++262144K,其他语言524288K
64bit IO Format:%lld
本题可使用本地IDE编码,不能使用本地已有代码,无跳出限制,
编码后请点击”保存并调试“按钮进行代码提交。
■ 题目描述
【考勤信息】
公司用一个字符串来表示员工的出勤信息
absent:缺勤
late:迟到
leaveearly:早退
present:正常上班
现需根据员工出勤信息,判断本次是否能获得出勤奖,能获得出勤奖的条件如下:
缺勤不超过一次;
没有连续的迟到/早退;
任意连续7次考勤,缺勤/迟到/早退不超过3次。
输入描述
用户的考勤数据字符串,记录条数 >= 1;
输入字符串长度 < 10000;
不存在非法输入
如:
2
present
present absent present present leaveearly present absent
输出描述
根据考勤数据字符串,如果能得到考勤奖,输出”true”;否则输出”false”,
对于输入示例的结果应为:
true false
C++解法一
#include <bits/stdc++.h> using namespace std; vector<int> nums; vector <string> strings; vector <string> getstrings(const std::string &s, char delim) { size_t last = 0; size_t index = s.find_first_of(delim, last); while (index != std::string::npos) { strings.push_back(s.substr(last, index - last)); last = index + 1; index = s.find_first_of(delim, last); } if (index - last > 0) { strings.push_back(s.substr(last, index - last)); } return strings; }
剩余50%内容,购买单篇文章或订阅会员后查看
隐藏内容
此处内容需要权限查看
会员免费查看C++解法二
#include<bits/stdc++.h> using namespace std;
剩余50%内容,购买单篇文章或订阅会员后查看
隐藏内容
此处内容需要权限查看
会员免费查看Python解法一
剩余50%内容,购买单篇文章或订阅会员后查看
隐藏内容
此处内容需要权限查看
会员免费查看Python解法二
n = int(input()) infos = [] res = [] for _ in range(n): info = input().split() infos.append(info)
剩余50%内容,购买单篇文章或订阅会员后查看
隐藏内容
此处内容需要权限查看
会员免费查看JAVA
package com.huawei.uapcc.tm.decoder; import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in);
剩余50%内容,购买单篇文章或订阅会员后查看
隐藏内容
此处内容需要权限查看
会员免费查看声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。