c++程序:第一有两个正整数 n,m。分别表示人数和事情的个数。 接下来有 m 行,每行四个整数op,a,b,c,op为1表示做了好事,op为0表示做了坏事, c描述事情的好感度值,例如1 3 5 6,表示 3 号同学对 5 号同学做了好感度为6的好事。 2≤n,m≤100,1≤a,b≤n,1≤c≤100


好的,下面是一个C++程序,它可以根据给定的输入处理每个人的好感度变化,并输出最终每个人的好感度值。 ```cpp #include <iostream> #include <vector> using namespace std; int main() { int n, m; cin >> n >> m; // 初始化每个人的好感度为0 vector<int> good(n + 1, 0); for (int i = 0; i < m; ++i) { int op, a, b, c; cin >> op >> a >> b >> c; if (op == 1) { // 做了好事,增加好感度 good[b] += c; } else if (op == 0) { // 做了坏事,减少好感度 good[b] -= c; } } // 输出每个人的最终好感度 for (int i = 1; i <= n; ++i) { cout << good[i] << " "; } return 0; } ``` 解释 1. 输入读取: - 首先读取两个整数 `n` 和 `m`,分别表示人数和事件的个数。 - 然后读取 `m` 行,每行包含四个整数 `op`, `a`, `b`, `c`。 2. 好感度初始化: - 使用一个大小为 `n+1` 的向量 `good` 来存储每个人的好感度,初始值为0。向量的大小为 `n+1` 是为了方便直接使用1到n作为索引。 3. 事件处理: - 对于每个事件,根据 `op` 的值来决定是增加还是减少 `b` 号同学的好感度。 - 如果 `op` 为1,表示做了好事,增加 `b` 号同学的好感度 `c`。 - 如果 `op` 为0,表示做了坏事,减少 `b` 号同学的好感度 `c`。 4. 输出结果: - 遍历并输出每个人的好感度值。 示例 假设输入如下: ``` 3 4 1 1 2 5 0 2 3 3 1 3 1 4 0 1 2 2 ``` 程序的输出将是: ``` 4 3 -3 ``` 解释: - 第1号同学对第2号同学做了好感度为5的好事,第2号同学的好感度增加5。 - 第2号同学对第3号同学做了好感度为3的坏事,第3号同学的好感度减少3。 - 第3号同学对第1号同学做了好感度为4的好事,第1号同学的好感度增加4。 - 第1号同学对第2号同学做了好感度为2的坏事,第2号同学的好感度减少2。 最终好感度: - 第1号同学:4 - 第2号同学:3 - 第3号同学:-3 希望这个程序能满足你的需求!如果有任何问题或需要进一步的修改,请告诉我。 [2024-10-17 15:53:50 | AI写代码神器 | 698点数解答]
- 一个饥饿的人被困在了迷宫当中,渴望走出迷宫。 迷宫的大小为 n × m n×m 但很可惜,有很多位置是不能走的。 每一步,你都可以向上下左右移动一次,花费一秒的时间。 但是迷宫被一种魔法包裹,只有移动时间恰好为 s s 秒的人才能走出去。 而你在迷宫中捡到了一个机器,可以帮助你在每一次向上下移动时消耗 k k 秒的时间,而左右走并不会消耗 k k 秒。 那么你能找到一个最小的正实数 k k 使得从起点到终点的最短用时等于 s s 吗? 数据保证有解 输入格式 第一行两个数 n , m n,m 第二行四个数 s x , s y , t x , t y sx,sy,tx,ty。分别表示起点所在行数、列数,终点所在行数、列数。 接下来 n n 行,每行 m m 个数,描述迷宫,其中 0 表示可以走,1 表示不能走。 最后一行一个正实数 s s。 输出格式 输出答案 k k,四舍五入保留 3 位小数。C++ (735点数解答 | 2025-07-01 15:27:29)73
- c++ 题目:混合类型数据格式化输入输出 描述:顺序读入浮点数1、整数、字符、浮点数2,其间以1个空格作为分隔符。再按照字符、整数、浮点数1、浮点数2的顺序输出,其中浮点数保留小数点后2位。 输入样例 3.14 100 a 2.71↙ 输出样例 a 100 3.14 2.71↙(187点数解答 | 2024-10-16 14:31:08)240
- c语言 题目:混合类型数据格式化输入输出 描述:顺序读入浮点数1、整数、字符、浮点数2,其间以1个空格作为分隔符。再按照字符、整数、浮点数1、浮点数2的顺序输出,其中浮点数保留小数点后2位。 输入样例 3.14 100 a 2.71↙ 输出样例 a 100 3.14 2.71↙(159点数解答 | 2024-10-16 14:32:18)243
- c语言来解决 有若干个小组参加某次计算机编程赛,每个小组的成员数在4-8之间,小组的个人平均分在所有小组中排后的小组将被淘汰,至少淘汰一组。 输入格式: 第一行输入小组数n及淘汰率r 第二行开始,每行为一个小组的总分和本组人数 输出格式: 输出将被淘汰的小组的组号、总分、人数、平均分(取两位小数),每行为一个小组的信息,各项数据间以一个空格间隔。 输入样例: 在这里给出一组输入。例如: 8 0.3 310 4 359 5 480 5 632 7 556 6 322 4 648 8 492 6 输出样例: 在这里给出相应的输出。例如: 2 359 5 71.80 1 310 4 77.50 6 322 4 80.50(421点数解答 | 2024-12-28 16:57:18)158
- c语言来解决 有若干个小组参加某次计算机编程赛,每个小组的成员数在4-8之间,小组的个人平均分在所有小组中排后的小组将被淘汰,至少淘汰一组。 输入格式: 第一行输入小组数n及淘汰率r 第二行开始,每行为一个小组的总分和本组人数 输出格式: 输出将被淘汰的小组的组号、总分、人数、平均分(取两位小数),每行为一个小组的信息,各项数据间以一个空格间隔。 输入样例: 在这里给出一组输入。例如: 8 0.3 310 4 359 5 480 5 632 7 556 6 322 4 648 8 492 6 输出样例: 在这里给出相应的输出。例如: 2 359 5 71.80 1 310 4 77.50 6 322 4 80.50(435点数解答 | 2024-12-28 16:57:20)257
- c++描述 一天,一个画家在森林里写生,突然爆发了山洪,他需要尽快返回住所中,那里是安全的。 森林的地图由R行C列组成,空白区域用点“.”表示,洪水的区域用“*”表示,而岩石用“X”表示,另画家的住所用“D”表示,画家用“S”表示。 有以下几点需要说明: 1.每一分钟画家能向四个方向移动一格(上、下、左、右)。 2.每一分钟洪水能蔓延到四个方向的相邻格子(空白区域)。 3.洪水和画家都不能通过岩石区域。 4.画家不能通过洪水区域(同时也不行,即画家不能移到某个格子,该格子在画家达到的同时被洪水蔓延到了,这也是不允许的)。 5. 洪水蔓不到画家的住所。 给你森林的地图,编写程序输出最少需要花费多长时间才能从开始的位置赶回家中。 输入描述 输入第一行包含两个整数R和C(R,C<=50)。 接下来R行每行包含C个字符(“.”、“*”、“X”、“D”或“S”)。 地图保证只有一个“D”和一个“S”。 输出描述 输出画家最快安全到达住所所需的时间,如果画家不可能安全回家则输出“KAKTUS”。 用例输入 1 3 3 D.* ... .S. 用例输出 1 (1384点数解答 | 2025-03-16 17:33:49)258
- 样例输入: 1 520021910437 99 100 98 zhang san 1 520021910438 99 100 92 zhang san 1 520021910439 90 100 94 li si 1 520021910440 90 100 94 wang wu 2 520021910437 89 100 94 zhang san 3 520021910430 4 520021910437 5 zhang san 6 7 0 样例输出(此处增加了换行以方便解释): 520021910437 zhang san 89 100 94 520021910437 zhang san 89 100 94 520021910438 zhang san 99 100 92 520021910437 zhang san 89 100 94 520021910438 zhang san 99 100 92 520021910439 li si 90 100 94 520021910440 wang wu 90 100 94 520021910438 zhang san 99 100(28点数解答 | 2024-12-12 11:56:59)275
- c语言顺序读入浮点数1、整数、字符、浮点数2,其间以1个空格作为分隔符。再按照字符、整数、浮点数1、浮点数2的顺序输出,其中浮点数保留小数点后2位。 输入样例 3.14 100 a 2.71↙ 输出样例 a 100 3.14 2.71↙(106点数解答 | 2024-09-26 00:32:40)203
- 7955: 【C3】星际编码大赛:逆序争霸 时间限制: 1 Sec 内存限制: 128 MB 提交: 0 解决: 33 [提交][状态][命题人:zhangyinwei] 题目描述 在银河系年度编程巅峰赛的决赛舞台上,来自机械星的AI选手TX-007和植根于生物科技的异星人选手索菲亚迎来了终极对决。本届压轴题竟是古老地球文献中记载的经典算法问题——「逆序对」统计。 赛事光幕显现出题目细节:给定一个可变长度正整数序列,逆序对定义为序列中位置靠前的数字严格大于位置靠后的数字(即存在下标i<j且a_i>a_j)。 "注意序列可能存在重复元素!"主裁判——由全息粒子构成的上届冠军提醒道。这句话让索菲亚的触须微微颤动,她曾在训练中因重复值处理失误而错失练习赛冠军。而TX-007的电子眼已经浮现出归并排序算法的流程图,金属手指在能量键盘上蓄势待发。 输入 第一行,一个数 n,表示序列中有 n 个数。 第二行 n 个数,表示给定的序列。序列中每个数字不超过 10^9。 输出 输出序列中逆序对的数目。 样例输入 6 5 4 2 6 3 1 样例输出 11 提示 对于 25% 的数据(509点数解答 | 2025-04-19 17:33:00)161
- c++实现:Candy 任意门密室周年庆啦,店长精心准备了小彩蛋隐藏在密室中! 众所周知任意门密室是由 N 行 M 列的小房间组成的,每个房间都有一个主题字母,玩家有五次使用任意门的机会,除第一次可以任选房间外,其余每次只能到达与所在房间同一扇墙或者同一个角的房间(即可以是水平、垂直或对角线的方向)。 当玩家任意门到达的房间主题连续正好为 candy ,那么恭喜成功找到彩蛋!解锁安全屋!请带上那你的智慧和勇气,找出彩蛋的任意门路径吧! 输入格式 共 N+1 行: 第一行,两个整数 N 和 M,分别表示密室的行和列; 接下来 N 行,每行 M 个小写英文字母,表示每个房间的主题字母。 输出格式 共 5 行,每行两个整数,表示解锁彩蛋需依次到达的房间行号和列号。(659点数解答 | 2025-05-16 16:50:18)85
- 使用继承,实现“剪刀石头布的游戏”。 小时候很喜欢玩一个游戏,“剪刀石头布”,可以是出拳的形式,或跳格子的形式。现在我们用计算机来玩这个游戏。 电脑用随机数产生剪刀石头布,游戏玩家用输入1,2,3的方式出拳。 游戏玩家输入1或2或3,分别 代表剪刀(1)石头(2)布(3)。 电脑胜出时,显示"winner is computerplayer." 游戏玩家胜出时,显示“winner is personplayer.” 平局时显示"a draw." 函数接口定义: 根据主方法内容,实现三个类的定义,分别是是computerplayer、personplayer、game类。 其中computerplayer、personplayer要继承player类。 根据主方法中的用法,实现game类。 裁判测试程序样例: import java.util.scanner; class player{ string name; player(string name){ this.name = name; } int show() { //出拳方法(451点数解答 | 2024-10-20 19:57:58)314
- c语言顺序读入浮点数1、整数、字符、浮点数2,其间以1个空格作为分隔符。再按照字符、整数、浮点数 1、浮点数2的顺序输出,其中浮点数保留小数点后2位。 输入样例 3.14100a2.712 输出样例 a1003.142.712(108点数解答 | 2024-09-30 22:54:08)219