输入格式 输入的第一行包含两个空格分隔的整数 N 和 K。 下一行包含 N 个单词,单词之间用单个空格分隔。 所有单词的长度都不超过一行中的字符上限数 K。
输出格式 输出正确排版的 Bessie 的作文。
数据范围 1≤N≤100, 1≤K≤80 输入样例: 107 hello my name is Bessie andthis is my essay 输出样例: hello my name is Bessie andthis is my essay 样例解释 第一行包含 7 个非空格字符,包括 “hello” 以及 “my”。 再加入 “name” 会使得第一行包含 11>7 个非空格字符,所以这个单词会被放到下一行。
#include<iostream> #include<string> #include<algorithm> usingnamespacestd; constint N =105; int n,k; string str[N];
intmain(){ cin >> n >> k; for (int i = 0;i < n;i ++) cin >> str[i]; int a = k; for (int i = 0;i < n;){ int t = str[i].size(); // 注意str.size()返回值是unsigned if (a - t < 0){ cout << '\n'; a = k; }else{ a -= t; cout << str[i] << ' '; i ++; } } return0; }
Farmer John 想要给他的奶牛们建造一个三角形牧场。 有 N 个栅栏柱子分别位于农场的二维平面上不同的点 (X1,Y1)…(XN,YN)。 他可以选择其中三个点组成三角形牧场,只要三角形有一条边与 x 轴平行,且有另一条边与 y 轴平行。 Farmer John 可以围成的牧场的最大面积是多少? 保证存在至少一个合法的三角形牧场。
输入格式 输入的第一行包含整数 N。 以下 N 行每行包含两个整数 Xi 和 Yi,均在范围 −10^4…10^4 之内,描述一个栅栏柱子的位置。
#include<iostream> #include<algorithm> usingnamespacestd; constint N = 105; int n; structNode{ int x,y; }q[N];
intmain(){ cin >> n; for (int i = 0;i < n;i ++) cin >> q[i].x >> q[i].y; int res = 0; for (int i = 0;i < n;i ++) for (int j = 0;j < n;j ++) for (int k = 0;k < n;k ++){ if (i == j || j == k || i == k) continue; if (q[i].x == q[j].x && q[j].y == q[k].y) res = max(res,abs((q[i].y-q[j].y)*(q[j].x-q[k].x))); } cout << res << '\n'; return0; }
一种新型疾病,COWVID-19,开始在全世界的奶牛之间传播。 Farmer John 正在采取尽可能多的预防措施来防止他的牛群被感染。 Farmer John 的牛棚是一个狭长的建筑物,有一排共 N 个牛栏。 有些牛栏里目前有奶牛,有些目前空着。 得知“社交距离”的重要性,Farmer John 希望使得 D 尽可能大,其中 D 为最近的两个有奶牛的牛栏的距离。 例如,如果牛栏 3 和 8 是最近的有奶牛的牛栏,那么 D=5。 最近两头奶牛新来到 Farmer John 的牛群,他需要决定将她们分配到哪两个之前空着的牛栏。 请求出他如何放置这两头新来的奶牛,使得 D 仍然尽可能大。 Farmer John 不能移动任何已有的奶牛;他只想要给新来的奶牛分配牛栏。