☀️大家好☀️,我是烧蔬菜😁,最近做算法题可以感受到自己确实有点懈怠了😐,所以给自己定一个百日刷题计划,希望自己可以一直坚持下去💪,每天做题,也把题题解写下,记录自己每天的做题痕迹来激励提升自己获取正反馈✊,并且与大家分享下去😁
biu~
☘️ 题目描述☘️
两支足球队之间展开了一场足球赛。
整场比赛双方一共打进了 n 粒进球,进球多的一方将收获最终的胜利。
请你根据进球纪录,判断哪支球队最终获胜。
保证不存在平局。
输入格式
第一行包含整数 n。
接下来 n 行,其中第 i 行记录了打进第 i 粒进球的球队的名称。
球队名称由大写字母构成,长度范围 [1,10]。
保证输入中包含的不同球队不超过两支。
输出格式
输出最终获胜队伍的名称。
数据范围
前 5 个测试点满足 1≤n≤5。
所有测试点满足 1≤n≤100。
(1)打进nnn粒球,进球最多的一方获胜,保证不存在平局;
(2)由于打进的球用球队名称来表示,需要用一个字符串数组进行存储进球的球队,由于并不知道球队的名称和长度,所以需要对球队的名称进行保存,目的是为了循环时进行相同的判断进行累加;
#include
using namespace std;
string g[110];
string n1, n2;int main() {int n;cin >> n;for (int i = 0; i < n; i++) {cin >> g[i];}int size1, size2 = 0;size1 = g[0].size();n1 = g[0];for (int i = 0; i < n; i++) { //(1)if (g[i].size() != size1) {size2 = g[i].size();n2 = g[i];break;}}if (!size2) { //(2)cout << g[0];return 0;}int ret1 = 0, ret2 = 0;for (int i = 0; i < n; i++) { //(3)if (g[i].size() == size1) {ret1++;} else {ret2++;}}if (ret1 > ret2) {cout << n1;} else {cout << n2;}return 0;
}
(1)对第二个队伍进行保存名称
(2)如果没有第二个队伍,第一个队伍胜利
(3)记录两个球队的球数
☘️ 题目描述☘️
n 个小朋友围成一圈,按顺时针顺序依次编号为 1∼n。
有 7 种颜色的帽子,每种颜色的帽子的数量都足够多。
7 种颜色不妨表示为 R、O、Y、G、B、I、V。、
现在,要给每个小朋友都发一个帽子,要求:
每种颜色的帽子都至少有一个小朋友戴。
任意四个相邻小朋友的帽子颜色都各不相同。
请你提供一种分发帽子的方案。
输入格式
共一行,包含一个整数 n。
输出格式
输出一行长度为 n 的由代表颜色的字符组成的字符串,其中的第 i 个字符表示第 i 个小朋友分到的帽子的颜色。
如果方案不唯一,输出任意合理方案均可。
数据范围
所有测试点满足 7≤n≤100。
(1)输出一个符合要求的方案
(2)这道题应该是一道贪心,直接顺时针排序给定值,若n取余7的余数为1,2,3这三种情况,则进行变化后输出,否则进行输出;
#include
using namespace std;
char cmp[7] = { 'R','O','Y','G','B','I','V'};
char kid[110];
int n;int main() {cin >> n;for (int i = 0; i < n; i++) {kid[i] = cmp[i % 7];}if (n % 7 == 1) {kid[n -1] = 'G';} else if (n % 7 == 2){kid[n - 1] = 'B';kid[n - 2] = 'G';} else if (n % 7 == 3) {kid[n - 1] = 'I';kid[n - 2] = 'B';kid[n - 3] = 'G';} else {for (int i = 0; i < n; i++) {cout << kid[i];}return 0;}for (int i = 0; i < n; i++) {cout << kid[i];}return 0;
}
(1)无
上一篇:英超积分榜:阿森纳积分追平曼城&维拉,先赛距榜首利物浦2分 英超最新积分榜阿森纳榜首是谁 英超积分榜阿森纳拉开与曼城分差
下一篇:枪手6射正进5球!阿森纳5-0水晶宫全场数据:射门21-12,射正6-5 阿森纳对阵水晶宫全员回归枪手 阿森纳5比3巴塞罗那阵容