using namespace std;
int main() {
/*
例题一:
本题请你实现一个简单的投票统计工具:
同意的人输入 1,反对的人输入 0。
得票多的数胜
vector <int> nums(2);
int num=0;
while (1){
cin>>num;
if(num==-1) break;
nums[num]++;
}
if (nums[0]>nums[1]) cout<<"No"<<endl;
else cout<<"Yes"<<endl;
cout<<nums[1]<<":"<<nums[0];
例题二:
Bessie 正在完成她的写作课的一篇作文。由于她写字很难看,她决定用一个文字处理器来输入这篇作文。
这篇作文共有 N 个单词(1≤N≤100),用空格分隔。
每个单词的长度在 1 到 15 之间,仅由大写和小写字母组成。
根据作业的要求,这篇作文需要用一种特别的方式排版:
每一行包含的字符不超过 K 个(1≤K≤80),空格不计。
幸好 Bessie 的文字处理器能够处理这样的要求,它会按照如下的方式:
如果 Bessie 输入了一个单词,这个单词能够放进当前行,就放在当前行。
否则,将这个单词放到下一行,然后继续向下一行添加单词。
当然,同一行中的单词之间仍然用一个空格分隔。每一行的结尾都不应当有空格。
很不幸,Bessie 的文字处理器刚好坏了。请帮助她正确地排版她的作文!
功能分析:
输入:
输入的第一行包含两个空格分隔的整数 N(n个单词) 和 K(字符上限) 。
下一行包含 N 个单词,单词之间用单个空格分隔。
所有单词的长度都不超过一行中的字符上限数 K 。
运算:
排版之后结果 -> 每一行包含的字符不超过 K 个, 字符超过k,换行输出
-> 判断: 加上当前单词,当前行的单词字符数量 是否超出k
T:将原来的单词输出,清空数组(存放当前行的单词),统计变量l值=当前元素数量
F:放进数组中,统计变量l值 +=当前元素数量
-> 统计当前行字符的数量(统计变量l)
-> 遍历数组
-> 输入数组
思路:
输入 -> 准备工作(存放当前行单词的数组lineWord,统计字符数量的变量l) -> 遍历数组
-> 判断(是否能够放下当前单词) -> T: 将单词存入lineWord,更新l
-> F:输出lineWord中的单词,清空lineWord,把当前单词放进去,更新l
->处理特殊情况(最后的单词)
输出:
排版之后结果
//输入
int n,k;
cin>>n>>k;
vector <string> word(n);
for (int i=0; i<n; i++) cin>>word[i];
//运算
//准备
vector <string> line; //存放当前行中的单词
int line_size=0; //统计当前行中字符的数量
//遍历
for (int i=0; i<n; i++) {
int ls = line_size+word[i].size();
if ( ls>k){
for (int i=0; i<line.size(); i++) cout<<line[i]<<" ";
cout<<endl;
line.clear();
line_size=word[i].size();
}
else
line_size = ls;
line.push_back(word[i]);
}
if (!line.empty()){
for (int i=0; i<line.size(); i++) cout<<line[i]<<" ";
}
*/
string num= "13";
int n = stoi(num)+13;
cout<<n;
return 0;
}