/*第一题:数字串*/ #include <iostream> #include <string> using namespace std; int main() { string str; cin >> str; int maxlen = 0; int len = 0; string ans, temp; for (int i = 0; i<str.size(); i++) { if (str[i]>='0' && str[i]<='9') { temp+=str[i]; } else { temp.clear(); } if (temp.size() >= ans.size()) { ans = temp; } } if (ans.empty()) cout << ans.size() << endl; else { cout << ans << endl; cout << ans.size() << endl; } } /*第二题:报数*/ #include <iostream> #include <vector> using namespace std; int main() { int m; cin >> m; if (m <= 1 || m >= 100) { cout << "ERROR!" << endl; return 0; } vector<int> arr; for (int i = 0; i < 100; i++) { arr.push_back(1); } int count = 0; int num = 100; int index = 0; while (num >= m) { if (arr[index]) count++; if (count == m) { count = 0; arr[index] = 0; num--; } index++; if (index == 100) { index = 0; } } for (int i = 0; i < 100; i++) { if (arr[i]) { if (num > 1) { cout << i + 1 << ","; num--; } else cout << i + 1 << endl; } } return 0; } /*第三题:接啤酒*/ #include <iostream> #include <vector> #include <set> using namespace std; int main() { int n, m; cin >> n >> m; vector<int> arr(n); for (int i = 0; i < n; i++) cin >> arr[i]; set<int> qq; for (int i = 0; i < n && i < m; i++) { qq.insert(arr[i]); } for (int i = m; i < n; i++) { qq.insert(*(qq.begin()) + arr[i]); qq.erase(qq.begin()); } while (qq.size() > 1) { qq.erase(qq.begin()); } cout << *qq.begin() << endl; }
点赞 评论
牛客网
牛客网在线编程
牛客网题解
牛客企业服务