ccf csp c语言答案,CCF 认证(CSP) 练题笔记

阅读: 评论:0

ccf csp c语言答案,CCF 认证(CSP) 练题笔记

ccf csp c语言答案,CCF 认证(CSP) 练题笔记

定义 (pos) 存储下一次要填的位置, 特别 (pos=w) 的含义是即将换行但是还没换. 注意 * 的空行也占一行.

代码

#include

using namespace std;

#define ll long long

#define inc(i, l, r) for (int i = l; i <= r; i++)

const int maxn = 1e6 + 5;

int w, res;

vector s, t;

string tmp;

bool empty(string ss) {

for (auto e : ss)

if (e != ' ') return false;

return true;

}

string fix(string ss) {

if (empty(ss)) return "";

int i, j;

for (i = 0; i < ss.size(); i++) {

if (ss[i] != ' ') break;

}

for (j = ss.size() - 1; j >= 0; j--) {

if (ss[j] != ' ') break;

}

return ss.substr(i, j - i + 1);

}

void solve() {

res++;

string tot;

int status = 0, pos = w;

for (int i = 0; i < t.size(); i++) {

auto qko = [&]() {

string now = " " + fix(t[i].substr(2));

for (int j = 0; j < now.size(); j++) {

if (now[j] == ' ') {

if (pos > 0 && pos < w - 3) pos++;

} else {

if (pos == w - 3) res++, pos = 0;

pos++;

}

}

};

if (t[i].size() >= 2 && t[i][0] == '*' && t[i][1] == ' ') {

if (status == 1) {

pos = 0;

res += 2;

} else {

pos = 0;

res++;

}

status = 2;

qko();

} else if (t[i].size() >= 2 && t[i][0] == ' ' && t[i][1] == ' ' &&

status == 2) {

qko();

} else {

if (status == 2) {

pos = 0;

res += 2;

}

status = 1;

string now = " " + fix(t[i]);

for (int j = 0; j < now.size(); j++) {

if (now[j] == ' ') {

if (pos > 0 && pos < w) pos++;

} else {

if (pos == w) res++, pos = 0;

pos++;

}

}

}

}

}

int main() {

freopen(&#", "r", stdin);

ios::sync_with_stdio(false);

cin.tie(nullptr);

cin >> w;

while (getline(cin, tmp)) s.push_back(tmp);

for (int i = 0; i < s.size(); i++) {

if (empty(s[i])) {

if (t.size()) {

solve();

t.clear();

}

} else {

t.push_back(s[i]);

}

}

if (t.size()) solve();

res--;

cout << res << "n";

}

标签:++,res,pos,ss,int,练题,CCF,CSP,size

来源: .html

本文发布于:2024-01-31 06:22:37,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170665336626183.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:答案   语言   笔记   csp   ccf
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23